Java面向对象学习的三条主线:

  • Java类及类的成员:属性、方法、构造器;代码块、内部类

  • 面向对象的三大特征:封装性、继承性、多态性、(抽象性)

  • 其它关键字:this、super、static、final、abstract、interface、package、import等

    面向对象与面向过程(理解)

  • 面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。

  • 面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。

完成一个项目(或功能)的思路:

  • 根据问题需要,选择问题所针对的现实世界中的实体。
  • 从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。
  • 把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。即借助某种程序语言,把类构造成计算机能够识别和处理的数据结构。
  • 将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。

面向对象的两个要素:

  • 类:对一类事物的描述,是抽象的、概念上的定义

  • 对象:是实际存在的该类事物的每个个体,因而也称为实例(instance)

面向对象程序设计的重点是类的设计
>设计类,就是设计类的成员。
>万事万物皆对象:

  1. 在Java语言范畴中,我们都将功能、结构等封装到类中,通过类的实例化,来调用具体的功能结构—-如Scanner,String等、文件:File、网络资源:URL
  2. 涉及到Java语言与前端Html、后端的数据库交互时,前后端的结构在Java面交互时,都体现为类、对象。

类的成员 :

  • 属性 = 成员变量 = field = 域、字段

  • 方法 = 成员方法 = 函数 = method

类和对象的使用:

  1. 创建类,设计类的成员

image.png
2.创建类的对象
类名 对象名 = new 类名();
3.通过“对象名.属性”或“对象名.方法”调用对象的结构


对象的内存解析

  • 如果创建了一个类的多个对象,则每个对象都独立的拥有一套类的属性。(非static的) 这意味着:如果我们修改一个对象的属性a,则不影响另外一个对象属性a的值。

image.png
注:引用类型的变量,只可能存储两类值:null 或 地址值(含变量的类型)


匿名对象的使用:

  • 我们也可以不定义对象的句柄,而直接调用这个对象的方法。这样的对象叫做匿名对象。

如:new Person().shout();

  • 使用情况
    1. 如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象。
    2. 我们经常将匿名对象作为实参传递给一个方法的形参调用。

如:mall.show(new Phone());