一、什么是对象
对象是类的一个实例,有状态和行为
例如:狗作为一个类,那么一只狗就是这个狗这个类的一个对象,一只狗的状态有:颜色、大小、名字、品种;一只狗的行为有:吠叫、摇尾巴、吃等
例如:以汽车作为一个类(Class),那么每一辆汽车的就是这个汽车的对象(Object)Java的基础方法Java的对象,对象包括了汽车颜色,品牌等
1.1Java中的对象
软件的对象也有行为和状态
软件对象的状态称之为属性,
软件对象的行为称之为方法。
方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成
二、Java中的类
Java的类可以看作是对象的模板
这里复习一下之前所讲的类的定义(包含属性和行为),代码体现如下
构造方法:
点击右键选择Generate,快速生成
三、创建对象
对象是根据类来创建的,在Java程序中使用关键字new来创建一个对象,具体是以下三个步骤
- 声明:包括对象名称和对象类型
- 实例化:使用new关键字来创建一个对象
- 初始化:使用new关键字创建对象时,会调用构造方法来初始化对象
在测试类中创建对象
Dog dog; // 1.声明:对象名称为dog,对象类型为Dog dog = new Dog(); // 2.实例化:使用new关键字创建对象以上的步骤可以合并写成下面的形式
Dog dog = new Dog();
3.1对象调用类成员变量
- 调用类成员变量中,分为调用有参构造和调用无参构造
- 调用无参构造时,先通过new关键字创建一个对象,打印输出对象.变量,由于调用的是无参构造器,所以输出为变量的默认值为null
- 调用有参构造时,先通过new关键字创建一个对象,由于是有参构造,需要在等号右边的括号中传入有参构造器中类成员变量的相关变量,打印输出对象.变量,输出的是等号右边传入的相关变量,这里打印输出为“甲”
测试类的整体代码如下
3.2对象调用类成员方法
如何调用类成员方法其实在第一篇文章中已经有所说明,在这里再进行说明一次,就当复习了,
- 无参无返
- 在本类中调用:方法名();
- 在其他类中调用:对象.方法名();
- 无参有返
- 在本类中调用:变量 = 方法名();//这个变量的类型要和返回类型的相同,用于接收返回值
- 在其他类中调用: 变量 = 对象.方法名();//这个变量在一开始其他类中一开始就要定义,且与返回值的类型相同,用于接收返回值
- 有参无返
- 在本类中调用:方法名(实参列表);//有参数所以需要在括号中填入参数
- 在其他类中调用:对象.方法名(实参列表);
- 有参有返
- 在本类中调用:变量 = 方法名(实参列表);//这个变量的类型要与返回值的相同,用于接收返回值,括号中要传入具体的实参
- 在其他类中调用:变量 = 对象.方法名(实参列表)
在Dog类中四种方法代码如下:
在测试类中,进行类成员方法的调用,也是需要利用new关键字创建一个对象,利用对象去调用,但是需要先观察调用的方法是否有返回值,如果有返回值,需要先定义一个与返回值类型相同的变量来接收返回值
步骤如下:
- 声明:对象名称为dog,对象类型为Dog //等号左边部分
- 实例化:dog = new Dog();使用new关键字创建一个dog对象
- 初始化:使用new关键字创建对象时,会调用构造方法来初始化对象
- 合并以上两个步骤 Dog dog = new Dog();
- 观察调用的对象是否有返回值,如果有返回值,在进行调用之前,先定义一个与返回值变量相同的变量用于接收返回值
- 观察调用的方法是否带有参数,有的话不要忘记传实参列表
测试类的代码如下:
//调用无参有返的方法,有返回值,先定义一个与返回值相同类型的变量用于接收返回值,这里就放在最上面了
foot = dog.run();这里可以直接把放到最上面定义的变量放到下面,变成
String foot = dog.run();
测试类代码示例如下
Dog类的代码如下
- 对于第四种有参有返的情况,return 后面是括号种传入的参数 即return food,(在括号中的参数和返回值类型相同时时这么操作)
- 那么在测试类中String a = dog.eat("rich");进行了将值赋给了a之后
- System.out.println("吃的是"+a);
- 打印输出的结果就是“吃的是rich"
对于返回值return后面到底填什么的思考:
- 对于第二种无参有返的情况,括号中没有参数,但是有返回值,那么return后面填一个跟返回值相同的数据类型
- 对于第四种有参有返回值的情况,参数括号中形参如果与返回值类型相同,后续打印输出也需要拿到这个实参,那就 return 形参;
- 比如这里的return food; food就是(String food)括号中的形参,后续也需要打印输出这个形参的具体实参,所以这里就return food,让测试类中的对象调用这个方法时获得执行方法所return出来的值
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/19535.html