3. Java面向对象

Java面向对象的三条主线:

  1. Java类及类成员:属性、方法、构造器、代码块、内部类
  2. 面向对象的三大特征:封装性、继承性、多态性、(抽象性)
  3. 其他关键字:this、super、static、final、abstract、interface、package、import

面向过程(POP):强调的是功能行为
面向对象(OOP):将功能封装进对象,强调具备了功能的对象

1. 类和对象

类是对一类事物的描述,是抽象的、概念上的定义。对象是实际存在的该类事物的每个个体,也称为实例(instance)。面向对象的程序设计重点在于类的设计,设计类就是设计类的成员。

属性和方法是类的主要成员,以下名称描述的概念等同:

  • 属性 = 成员变量 = Field
  • 方法 = 函数 = Method

1.1 类的属性
属性(成员变量)与局部变量的异同:
1.1.1 相同点

  • 定义变量的格式相同:数据类型 变量名 = 变量值
  • 要先声明,后使用
  • 都有其对应的作用域

1.1.2 不同点

  • 在类中声明的位置不同:属性声明在类里、方法外。局部变量声明在方法内、方法的形参部分、代码块内。
  • 权限修饰符的不同:属性可以在声明时使用权限修饰符(public、private、protected、缺省)。局部变量没有修饰符(与其所在方法的权限修饰符相同)。
  • 默认初始化值不同:属性根据其类型有默认的初始值。局部变量一定要显示地赋值(形参可以在调用时赋值)。
  • 在内存中加载的位置不同:属性加载到堆空间中(非static的)。局部变量加载到栈空间中。

1.2 类的方法
1.2.1 方法的声明:权限修饰符 返回值类型 方法名(形参列表){ 方法体 }
static、final、abstract 也可以用来修饰方法

1.2.2 方法的使用
方法中可以直接调用当前类的属性或方法。方法中不可以再定义方法、

1.3 对象
1.3.1 类和对象的使用

  1. 创建类,设计类的成员
  2. 创建类的对象
  3. 通过“对象.属性”或“对象.方法”调用对象的结构

1.3.2 类与对象的关系:如果创建了一个类的多个对象,则每个对象都独立的拥有一套类的属性(非static的)。

1.3.3 对象的内存解析:
3. Java面向对象

2. 面向对象的特征

3. 关键字