导航:首页 > 编程语言 > java面向对象编程项目

java面向对象编程项目

发布时间:2022-04-29 03:42:26

java面向对象编程

建个数据库学生表,java链接数据库对其进行操作,很多方法可以实现(mybatis,ibatis,jdbc),显示在页面就可以了

② Java面向对象程序编程

publicstaticvoidmain(Stringargs[]){
Scannerscanner=newScanner(System.in);
System.out.println("请输入一个开始数字:");
inta=0;
try{
a=scanner.nextInt();
}catch(Exceptione){
System.out.println("输数字不合法");
return;
}
System.out.println("请输入一个结束数字:");
intb=0;
try{
b=scanner.nextInt();
}catch(Exceptione){
System.out.println("输数字不合法");
return;
}
intsum=0;
if(a>b){
for(inti=b;i<=a;i++){
sum=sum+i;
}
}else{
for(inti=a;i<=b;i++){
sum=sum+i;
}
}
System.out.println(sum);
}

③ java面向对象程序设计

/*
对象的多态性:动物x=new猫();
函数的多态性:函数重载、重写

1、多态的体现
父类的引用指向了自己的子类对象
父类的引用也可以接收自己的对象
2、多态的前提
必须是类与类之间只有关系,要么继承或实现
通常还有一个前提,存在覆盖
3、多态的好处
多态的出现大大的提高了程序的扩展性
4、多态的弊端
只能使用父类的引用访问父类的成员
5、多态的应用

6、注意事项
*/

/*
需求:
猫,狗。
*/

abstractclassAnimal
{
abstractvoideat();
}

classCatextendsAnimal
{
publicvoideat()
{
System.out.println("吃鱼");
}
publicvoidcatchMouse()
{
System.out.println("抓老鼠");
}
}

classDogextendsAnimal
{
publicvoideat()
{
System.out.println("吃骨头");
}
publicvoidkanJia()
{
System.out.println("看家");
}
}

classDuoTaiDemo
{
publicstaticvoidmain(String[]args)
{
function(newCat());
function(newDog());

Animala=newCat();//向上转型
a.eat();

Catc=(Cat)a;//向下转型
c.catchMouse();


}

publicstaticvoidfunction(Animala)
{
a.eat();
//用于子类型有限
//或判断所属类型进而使用其特有方法
if(ainstanceofCat)
{
Catc=(Cat)a;
c.catchMouse();
}
elseif(ainstanceofDog)
{
Dogc=(Dog)a;
c.kanJia();
}
}


}

④ java面向对象编程是什么

面向对象编程的时候,我们会考虑到两个问题,一个是类的定义,一个是实现对象,类经过实例化就是对象,比如现在有个类叫Student ,那么用这个类生成个对象,就是这个样子,Student s=new Student 这个s就是对象了。Student s 就是创建这个对象,=new Student() 就是在内存中真正的生成这个对象。我们在类里定义的一些方法,比如 public void show(){system.out.println('我是菜鸟')},那么,因为当前的类不是个静态类,所以这个方法是不能真正的实现的,说白了就是不能用 ,只有生成了这个类的对象才能实现这个方法,如 s.show(); 通过s调用 show 方法。
如果不能理解的话 你就记住凡是非静态类,想要实现类里的方法或访问类的属性都必须创建并生成一个对象,格式就是 类名 对象名=new 类名(参数列表); 这个是死的东西,固定的格式,不能理解的坏就死背住。以后写的多了 你就理解了。‘

⑤ Java面向对象编程(OOP)是怎么理解

Java是一个支持并发、基于类和面向对象的计算机编程语言。
代码开发模块化,更易维护和修改。
代码复用。
增强代码的可靠性和灵活性。
增加代码的可理解性。
面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。

⑥ java面向对象编程求帮忙

一共三个类:ScoreArray.java、StudentScoreArray.java和Test1.java,具体为:


public class ScoreArray {
private int[] scores;
private int scoreCount;

public int[] getScores() {
return scores;
}

public int getScoreCount() {
return scoreCount;
}
//构造函数
public ScoreArray(int[] scores) {
this.scores = scores;
for (int score : scores) {
if (score >= 0 && score <= 100) {
this.scoreCount++;
}
}
}
//求最大值
public int getMax() {
int[] scores = this.scores;
int temp;
for (int i = 0; i < scores.length; i++) {
for (int j = 0; j < scores.length - 1 - i; j++) {
if (scores[j] > scores[j + 1]) {
temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
return scores[scores.length - 1];
}
//求最小值
public int getMin() {
int[] scores = this.scores;
int temp;
for (int i = 0; i < scores.length; i++) {
for (int j = 0; j < scores.length - 1 - i; j++) {
if (scores[j] > scores[j + 1]) {
temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
return scores[0];
}
//求均值
public double getAvg() {
int sum = 0;
for (int score : this.scores) {
sum += score;
}
return new BigDecimal(sum).divide(
new BigDecimal(this.scores.length),
2, BigDecimal.ROUND_HALF_UP).doubleValue();
}
//排序
public void sort() {
int temp;
for (int i = 0; i < this.scores.length; i++) {
for (int j = 0; j < this.scores.length - 1 - i; j++) {
if (this.scores[j] > this.scores[j + 1]) {
temp = this.scores[j];
this.scores[j] = this.scores[j + 1];
this.scores[j + 1] = temp;
}
}
}
}
//静态说明类
public static void explain() {
System.out.println("本类[ScoreArray]实现了数组的:求最值[getMax()]、求均值[getAvg()]和排序[sort()]方法");
}
}


public class StudentScoreArray extends ScoreArray {
public StudentScoreArray(int[] scores) {
super(scores);
}
//统计
public void statistic() {
super.sort();
Map<Integer, Integer> map = new LinkedHashMap<>();
for (int i : super.getScores()) {
if (map.containsKey(i)) {
map.put(i, map.get(i) + 1);
} else {
map.put(i, 1);
}
}
map.forEach((k, v) -> System.out.println("分数为[" + k + "]的人数为:[" + v + "]"));
}
//静态说明类
public static void explain() {
System.out.println("本类[StudentScoreArray]实现了数组的:求最值[getMax()]、求均值[getAvg()]、排序[sort()]和分布统计[statistic()]方法");
}
}


public class Test1 {
public static void main(String[] args) {
int[] scores = {59, 60, 82, 58, 71, 99, 0, 59, 65};

ScoreArray scoreArray = new ScoreArray(scores);
ScoreArray.explain();
System.out.print("数组内容:[");
for (int i : scoreArray.getScores()) {
System.out.print(i + " ");
}
System.out.println("]");
System.out.println("有效值个数:" + scoreArray.getScoreCount());
System.out.println("最大值:" + scoreArray.getMax());
System.out.println("最小值:" + scoreArray.getMin());
System.out.println("平均值:" + scoreArray.getAvg());
scoreArray.sort();
System.out.print("排序后数组内容:[");
for (int i : scoreArray.getScores()) {
System.out.print(i + " ");
}
System.out.println("]");

System.out.println("");
System.out.println("========华丽的分割线========");
System.out.println("");

StudentScoreArray studentScoreArray = new StudentScoreArray(scores);
StudentScoreArray.explain();
System.out.print("数组内容:[");
for (int i : studentScoreArray.getScores()) {
System.out.print(i + ",");
}
System.out.println("]");
System.out.println("有效值个数:" + studentScoreArray.getScoreCount());
System.out.println("最大值:" + studentScoreArray.getMax());
System.out.println("最小值:" + studentScoreArray.getMin());
System.out.println("平均值:" + studentScoreArray.getAvg());
studentScoreArray.sort();
System.out.print("排序后数组内容:[");
for (int i : studentScoreArray.getScores()) {
System.out.print(i + " ");
}
System.out.println("]");
System.out.println("分数分布统计:");
studentScoreArray.statistic();
}
}


其中对StudentScoreArray类我要特别说明一下:

统计分布情况时,使用了Map,map是一种key-value的数据结构,其有个特点被我所利用:一个map中只能同时存在一个key,所以我以分数为key,以数量为value,遍历分数数组时,如果是第一次遇到这个key(分数),则将其value(数量)置为1;如果已经不是第一次遇见了,则将其value(数量)置为value + 1(数量 + 1)。另外需要遍历这个map实现统计结果的打印,我这里使用了java8以后才支持的Lambda表达式,所以你要运行这个程序必须要使用jdk1.8以上的版本。如果你觉得这样不妥,可以网上再搜一下map的遍历方式。


运行结果:

测试用例都使用的数组:int[] scores = {59, 60, 82, 58, 71, 99, 0, 59, 65};

⑦ 什么是java面向对象编程

面向对象编程(oop)旨在将现实世界中的概念模拟到计算机中,它将现实世界中的所以事物视作对象。对象是存在的具体实体,具有明确定义的状态和行为。

⑧ 解释下Java 面向对象编程

网络很快的……
java的面向对象:java最基本的特征之一。对象是java最基本的封装单位,要求编程时候将对象概括为类,类封装对象的一些操作和数据。然后运用时候再将类实例化为对象
对象被称作类的一个实例(Instance),而类是对象的模 版(Template) 类是多个实例的综合抽象,而实例又是类的个体实物。 由于对象是类的实例,因此在定义对象之前应先定义类。定义了类之后,才 可以在类的基础上创建对象。

⑨ 在JAVA中什么是面向对象的程序设计方法有哪些主要特征

答:Java是面向对象的程序设计语言,从面向对象这个角度看,体现了如下三个特点:

①封装性

面向对象的程序设计语言都是把数据和处理数据的操作结合在一起而构成一个整体,这就是对象。对象的使用者只能看到对象的外部特性,比如,其主要功能、如何调用等,而看不到内部如何实现这些功能。作为面向对象的程序设计语言,程序中的数据就是变量,程序对数据作处理则称为方法。变量和方法都被封装在对象中。所以,一个对象就是变量和方法的集合,其中变量表明这个对象的状态,方法实现这个对象所具有的行为,而且在程序中将这些变量和方法进行封装,使它们成为一个模块,再用一个名字来代表这个模块。这样,以后的更高层的程序设计中,就不必关心某个对象的行为到底是怎样实现的。可见,将对象封装就是为了使模块尽可能少地展现其内部细节,而只是以一种界面来面向外部。

对象的封装性减少了程序各部分之间的依赖,使程序的复杂性降低,而可靠性提高,并便于修改。
②继承性

面向对象的程序设计中,对象是从类创建出来的,这一点即将在下面的解答中说明。在
Java中,许多类组成层次化结构。一个类的上一层称为父类,而下一层称为子类。一个类可以继承其父类的变量和方法,而且这种继承具有传递性。就是说,一个类可以继承其上一层和其再上一层的变量和方法。这种可传递的继承性使得下层多个相似的对象可以共享上层类的数据和程序代码,而子类又可以在继承父类的基础上增添新的内容和功能。这种代码共享和代码可增添的继承特性使Java既灵活方便又提高效率。
③通信相关性

一个对象往往涉及多个行为。体现在程序设计中,一个对象往往包含多个方法,每一个方法对应一个行为。所以,一个对象完成某个动作也就是程序执行相应的方法。于是,就涉及对象之间通过交互来实现复杂的行为,这叫对象之间的通信。

利用通信可以实现一个对象往另一个对象的信息传递。信息传递涉及三个要素;一是信息接收对象;二是接收对象中用哪个方法完成指定的动作;三是此方法需要的参数。由于信息传递的要素非常清晰,所以用在编程中也将很方便。

这种通信相关性使许多复杂功能得以实现,却又能避免编程的错综复杂。

⑩ Java面向对象编程的内容简介

《Java 面向对象编程》 内容由浅入深,紧密结合实际,利用大量典型实例,详细讲解Java面向对象的编程思想、编程语法和设计模式,介绍常见Java类库的用法,总结Java编程的各种经验,深入阐述Java虚拟机执行程序的原理。书中实例均基于最新的JDK 1.5版本。全书内容包括面向对象的编程思想、Java语言的基础知识、异常处理、类与对象的生命周期、多线程、Java集合、输入/输出和GUI编程等。其最大特色是以六条主线贯穿全书:面向对象编程思想、Java语言的语法、Java虚拟机执行Java程序的原理、在实际项目中的运用、设计模式和性能优化技巧。

阅读全文

与java面向对象编程项目相关的资料

热点内容
PC机与单片机通讯 浏览:674
二级加密图 浏览:113
压缩机异音影响制冷吗 浏览:711
德斯兰压缩机 浏览:490
程序员太极拳视频 浏览:531
网上购买加密锁 浏览:825
安卓为什么软件要隐私 浏览:83
虚拟主机管理源码 浏览:811
java图形图像 浏览:230
单片机输出口电平 浏览:486
java配置数据库连接 浏览:479
java多态的体现 浏览:554
java的split分隔符 浏览:128
跪着敲代码的程序员 浏览:238
web和php有什么区别 浏览:120
加密的电梯卡怎么复制苹果手机 浏览:218
warez压缩 浏览:137
黑马程序员培训机构官网天津 浏览:904
mainjavasrc 浏览:59
如何买服务器挖矿 浏览:292