目录
面向对象的三条主线:
①类及类的成员:属性、方法、构造器;代码块(初始化块)、内部类
②面向对象的三大特征:封装、继承、多态
③其它关键字:this、super、static、final、abstract、interface、package、import
一、面向过程与面向对象的区别:
1.1 定义
![](https://img-blog.csdnimg.cn/20210813151856174.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0MzQ3MTc1,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20210813151924728.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0MzQ3MTc1,size_16,color_FFFFFF,t_70)
完成一个项目或功能的思路:
①根据问题需要,选择问题所针对的现实世界中的实体。
②从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。
③把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。即借助某种程序
语言,把类构造成计算机能够识别和处理的数据结构。
④将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。
二、类与对象:
类:对一类事物的描述,是抽象的、概念上的定义。
对象:是实际存在的该类事物的每个个体,因而也称为实例(instance)。
二者关系:
对象是由类new出来的,派生出来的。
2.1 类和对象的使用:
1、创建类,设计类的成员。
2、创建类的对象。
3、通过“对象.属性”或“对象.方法”调用对象的结构。
2.2 几个概念的补充与使用:
属性 = 成员变量 = field = 域、字段
方法 = 成员方法 = 函数 = method
创建类的对象 = 类的实体化 = 实例化类
2.3 理解“万事万物皆对象”:
1.在Java语言范畴中,我们都将功能、结构等封装到类中,通过类的实例化,来调用具体的功能结构。
Scanner,String等
文件:File
网络资源:URL
2.涉及到Java语言与前端HTML、后端的数据库交互时,点后端的结构在Java层面交互时,都体现为类、对象。
2.4 匿名对象的使用
1.理解:我们创建的对象,没有显式地赋给一个变量名,即为匿名对象
2.特征:匿名对象只能调用一次,第二次调用相当于另外一个对象
3.使用:如下
PhoneMall mall = new PhoneMall();
mall.show(new Phone());
class PhoneMall{
public void show(Phone phone){
phone.sendEmail();
phone.playGame();
}
}
2.5 对象的创建与对象的内存解析:
2.5.1 对象的创建:
Person p1 = new Person();
Person p2 = new Person();
Person p3 = p1//没有新创建一个对象,共用了一个堆空间中的对象实体。
说明:
如果创建了一个类的多个对象,则每个对象都独立的拥有一套类的属性。(非static的)
意味着:如果我们修改一个对象的属性a,则不影响另外一个对象属性a的值。
2.5.2 内存解析:
引用类型的变量,只可能存储两类值:null或地址值