理解JAVA对象:一个对象的结构
![](https://imgsa.baidu.com/forum/w%3D580/sign=fb946e7f3fadcbef01347e0e9cae2e0e/41549733c895d143867db3987df082025baf0770.jpg)
1.我们说一切都是对象,对象的实质是属性和行为。
一个类是一些具有共同属性和行为的对象的集合,类定义了对象的属性和方法。
从分析过程的角度来看,先有对象后有类,因为类是由对象组成的。
从开发过程的角度来看,先有类后有对象,因为要先创建类。
![](https://imgsa.baidu.com/forum/w%3D580/sign=20c25326c5ef76093c0b99971edca301/dac08695d143ad4bfd25117b8c025aafa50f0670.jpg)
2.属性
属性可以理解为对象的数据,声明在类中的被称为成员变量,声明在方法中的被称为局部变量。
我们可以把属性理解为:要被运算的“量”,就是属性,因为这个量的值可以改变,所以叫做变量。
![](https://imgsa.baidu.com/forum/w%3D580/sign=1c9ba96478094b36db921be593cd7c00/cb669f43ad4bd1135ec6e08954afa40f4afb0570.jpg)
声明方式:访问权限修饰符+数据类型修饰符+属性名称 = (赋值);
![](https://imgsa.baidu.com/forum/w%3D580/sign=e5d914824536acaf59e096f44cd88d03/d2b0e34bd11373f0ac343824aa0f4bfbfaed0470.jpg)
3. 方法
方法也就是对象的行为,或者说具体某一种功能。
我们理解为:在程序中,对变量执行操作的过程,就叫做方法。
所谓的返回值,就是这个方法最终是输出一个什么结果。
![](https://imgsa.baidu.com/forum/w%3D580/sign=593f29bda2af2eddd4f149e1bd110102/aeb89f1373f082027599c68445fbfbedaa641b70.jpg)
4. 构造方法。
每个类都有构造方法,如果没有定义,javac会给类一个默认的无参构造方法。
构造方法就是对类的初始化,具体来说就是给类的属性赋初值。
构造方法的参数就是给类的成员变量赋初值。
因为构造方法是类的初始化,而类是没有返回值的,所以构造方法没有返回值。
构造方法的方法名必须和类名一致。
![](https://imgsa.baidu.com/forum/w%3D580/sign=7b00ce2420dda3cc0be4b82831e83905/d2e03df082025aaf94392970f5edab64024f1a70.jpg)
构造方法的用法,上图中成员变量a、b并没有赋值。
![](https://imgsa.baidu.com/forum/w%3D580/sign=9d994c56adcc7cd9fa2d34d109002104/7003cc025aafa40f7acd9966a564034f79f01970.jpg)
![](https://imgsa.baidu.com/forum/w%3D580/sign=1cebc14772d98d1076d40c39113eb807/81f114afa40f4bfbc9dbc9ef0d4f78f0f6361870.jpg)
5. 总结
类是对象的模板,对象是类的实例,类也是对象的集合。一个模板(类)可以被创建出多个对象,但是一个对象只属于一种类。
对象是对客观事物的抽象,类是“对象的抽象”。类也是一种抽象的数据类型(引用数据类型)。
类的基本结构就是属性和方法,属性是一种描述,比如对年龄,对颜色,对大小的描述等等。
于是属性就有不同的数据类型,比如年龄和姓名就是两种不同的数据类型,比如说年龄我们用int定义,而姓名用String定义。
属性分两种,一种属于类的成员变量,类里面的方法都可以共用。另一种是方法体内的局部变量,只有本方法可用。
方法是具体的行为功能,要干什么活。
行为功能的本质就是运算,运算就需要输入数据,方法的括号内可以传入数据。
运算就会有结果,所以方法也有返回值。
如果我们只需要执行某个行为,不需要返回结果,那么返回值就定义为void(空)。
![](https://imgsa.baidu.com/forum/w%3D580/sign=fb946e7f3fadcbef01347e0e9cae2e0e/41549733c895d143867db3987df082025baf0770.jpg)
1.我们说一切都是对象,对象的实质是属性和行为。
一个类是一些具有共同属性和行为的对象的集合,类定义了对象的属性和方法。
从分析过程的角度来看,先有对象后有类,因为类是由对象组成的。
从开发过程的角度来看,先有类后有对象,因为要先创建类。
![](https://imgsa.baidu.com/forum/w%3D580/sign=20c25326c5ef76093c0b99971edca301/dac08695d143ad4bfd25117b8c025aafa50f0670.jpg)
2.属性
属性可以理解为对象的数据,声明在类中的被称为成员变量,声明在方法中的被称为局部变量。
我们可以把属性理解为:要被运算的“量”,就是属性,因为这个量的值可以改变,所以叫做变量。
![](https://imgsa.baidu.com/forum/w%3D580/sign=1c9ba96478094b36db921be593cd7c00/cb669f43ad4bd1135ec6e08954afa40f4afb0570.jpg)
声明方式:访问权限修饰符+数据类型修饰符+属性名称 = (赋值);
![](https://imgsa.baidu.com/forum/w%3D580/sign=e5d914824536acaf59e096f44cd88d03/d2b0e34bd11373f0ac343824aa0f4bfbfaed0470.jpg)
3. 方法
方法也就是对象的行为,或者说具体某一种功能。
我们理解为:在程序中,对变量执行操作的过程,就叫做方法。
所谓的返回值,就是这个方法最终是输出一个什么结果。
![](https://imgsa.baidu.com/forum/w%3D580/sign=593f29bda2af2eddd4f149e1bd110102/aeb89f1373f082027599c68445fbfbedaa641b70.jpg)
4. 构造方法。
每个类都有构造方法,如果没有定义,javac会给类一个默认的无参构造方法。
构造方法就是对类的初始化,具体来说就是给类的属性赋初值。
构造方法的参数就是给类的成员变量赋初值。
因为构造方法是类的初始化,而类是没有返回值的,所以构造方法没有返回值。
构造方法的方法名必须和类名一致。
![](https://imgsa.baidu.com/forum/w%3D580/sign=7b00ce2420dda3cc0be4b82831e83905/d2e03df082025aaf94392970f5edab64024f1a70.jpg)
构造方法的用法,上图中成员变量a、b并没有赋值。
![](https://imgsa.baidu.com/forum/w%3D580/sign=9d994c56adcc7cd9fa2d34d109002104/7003cc025aafa40f7acd9966a564034f79f01970.jpg)
![](https://imgsa.baidu.com/forum/w%3D580/sign=1cebc14772d98d1076d40c39113eb807/81f114afa40f4bfbc9dbc9ef0d4f78f0f6361870.jpg)
5. 总结
类是对象的模板,对象是类的实例,类也是对象的集合。一个模板(类)可以被创建出多个对象,但是一个对象只属于一种类。
对象是对客观事物的抽象,类是“对象的抽象”。类也是一种抽象的数据类型(引用数据类型)。
类的基本结构就是属性和方法,属性是一种描述,比如对年龄,对颜色,对大小的描述等等。
于是属性就有不同的数据类型,比如年龄和姓名就是两种不同的数据类型,比如说年龄我们用int定义,而姓名用String定义。
属性分两种,一种属于类的成员变量,类里面的方法都可以共用。另一种是方法体内的局部变量,只有本方法可用。
方法是具体的行为功能,要干什么活。
行为功能的本质就是运算,运算就需要输入数据,方法的括号内可以传入数据。
运算就会有结果,所以方法也有返回值。
如果我们只需要执行某个行为,不需要返回结果,那么返回值就定义为void(空)。