1.了解类
1.1 认识类与对象
![](https://img-blog.csdnimg.cn/img_convert/457ebd780087cc33a3c5622cede0ba18.png)
类的本质其实就是一种引用数据类型。我们常见的String类型就是一种引用数据类型,往后我们会学习更多引用数据类型。
1.2 认识成员变量和成员方法
![](https://img-blog.csdnimg.cn/img_convert/9288b1b63dbe61dd6a29c39d82175208.png)
1.3 类的UML图
UML,即统一建模语言,也叫标准建模语言。这里我们简单了解一下,不做过多介绍了。
![](https://img-blog.csdnimg.cn/img_convert/7657aeb250307db8105b5994095a0da4.jpeg)
2.定义类
我们在上面认识到了对象是真实存在的具体实例,类是对象共同特征的描述。对象的共同特征是不是就是共同的属性、共同的行为?那么我们是不是可不可以把定义类理解成定义类的属性和方法。
像我们这样把对象共同的属性和方法定义到一个类里面,就叫做Java语言的封装性。
补充:封装性
封装是指把对象的属性和行为(或叫成员变量和成员方法)包装在一个类内,以限定成员的访问,从而达到保护数据的一种技术。
![](https://img-blog.csdnimg.cn/img_convert/f326ef3de68f8617c23a0b66cacd540b.png)
2.1 如何定义类(设计类)
![](https://img-blog.csdnimg.cn/img_convert/28bfe7570b425217ee1f643a6759f935.png)
注意事项:
![](https://img-blog.csdnimg.cn/img_convert/345271c05ee8a2ff07cac64090bfbe6b.png)
2.2 成员变量和成员方法
(1)成员变量
![](https://img-blog.csdnimg.cn/img_convert/feeca9a766cf553ce470a1030adb9869.png)
默认值(初始值):
![](https://img-blog.csdnimg.cn/img_convert/c324da2014dba1a7b1f9ba0afc8550e1.jpeg)
小结:成员变量和局部变量的区别
![](https://img-blog.csdnimg.cn/img_convert/9ece4b10cf740634e9ba754fa5741648.png)
2.3 成员方法
![](https://img-blog.csdnimg.cn/img_convert/f8f5c60d9d5be57c7047f698c426a18b.jpeg)
![](https://img-blog.csdnimg.cn/img_convert/0c745e8012674420105ec3cf83a709c7.png)
若方法没有返回值,则返回值的数据类型应为void,且return语句可以省略。
2.4 修饰符
2.4.1 类修饰符
![](https://img-blog.csdnimg.cn/img_convert/af0582b5c7d04f0454c6728c89b358fd.jpeg)
2.4.2 成员变量修饰符
![](https://img-blog.csdnimg.cn/img_convert/23091c2928ff241c072db60f205723d1.jpeg)
2.4.3 成员方法修饰符
![](https://img-blog.csdnimg.cn/img_convert/098bcb5e177be9b5f8af8022b1105ada.jpeg)
3.对象的创建、使用及内存图
3.1 创建对象
(1)实例:
以创建圆柱体类Cylinder的对象为例:
Cylinder volu;
volu=new Cylinder;
Cylinder volu=new Cylinder;
(2)过程
创建对象并让变量volu指向该对象:
![](https://img-blog.csdnimg.cn/img_convert/b27c0fac35fa7e99f5b8554cd68b4999.jpeg)
3.2 使用对象
对象名.对象成员变量(引用对象成员)
对象名.对象成员方法(引用成员方法)
注意事项:
1.引用成员方法时,只要在成员方法名后的圆括号内填写对应类型的参数即可,没有参数不用写。
2.在同一个类的定义里面,某一方法可以直接调用本类的其他方法,不需要加上"对象名"。
3.如果要强调的是对象本身的成员的话,则可以在成员名前加this关键字,即"this.成员名"。此时this即代表调用此成员的对象。
3.3 对象的内存图
![](https://img-blog.csdnimg.cn/img_convert/9dd1f0e982b3692873af0910ea28c31d.png)
小结:对象的存储
![](https://img-blog.csdnimg.cn/img_convert/c7cc2972cacee2cffc95329bcdf51aec.png)
4.参数的传递
4.1 值传递
![](https://img-blog.csdnimg.cn/img_convert/e55d9b1becc38ba56d4d2a7d55d3d1dd.png)
4.2 基本类型、引用类型的参数传递
![](https://img-blog.csdnimg.cn/img_convert/48515ee5ad52fb855ed7ecefe4476817.png)