Java面向对象学习的三条主线:
Java类及类的成员:属性、方法、构造器;代码块、内部类
面向对象的三大特征:封装性、继承性、多态性、(抽象性)
其它关键字:this、super、static、final、abstract、interface、package、import等
面向对象与面向过程(理解)
面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。
面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。
完成一个项目(或功能)的思路:
- 根据问题需要,选择问题所针对的现实世界中的实体。
- 从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。
- 把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。即借助某种程序语言,把类构造成计算机能够识别和处理的数据结构。
- 将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。
面向对象的两个要素:
类:对一类事物的描述,是抽象的、概念上的定义
对象:是实际存在的该类事物的每个个体,因而也称为实例(instance)
面向对象程序设计的重点是类的设计
>设计类,就是设计类的成员。
>万事万物皆对象:
- 在Java语言范畴中,我们都将功能、结构等封装到类中,通过类的实例化,来调用具体的功能结构—-如Scanner,String等、文件:File、网络资源:URL
- 涉及到Java语言与前端Html、后端的数据库交互时,前后端的结构在Java面交互时,都体现为类、对象。
类的成员 :
属性 = 成员变量 = field = 域、字段
方法 = 成员方法 = 函数 = method
类和对象的使用:
- 创建类,设计类的成员
2.创建类的对象
类名 对象名 = new 类名();
3.通过“对象名.属性”或“对象名.方法”调用对象的结构
对象的内存解析
- 如果创建了一个类的多个对象,则每个对象都独立的拥有一套类的属性。(非static的) 这意味着:如果我们修改一个对象的属性a,则不影响另外一个对象属性a的值。
注:引用类型的变量,只可能存储两类值:null 或 地址值(含变量的类型)
匿名对象的使用:
- 我们也可以不定义对象的句柄,而直接调用这个对象的方法。这样的对象叫做匿名对象。
如:new Person().shout();
- 使用情况
- 如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象。
- 我们经常将匿名对象作为实参传递给一个方法的形参调用。
如:mall.show(new Phone());