01-面向对象编程进阶-1

1. static

有 static 修饰的。理解为静态的类的,没有的理解为非静态的对象的。

静态代码块、代码块

继承关系的父子类。虚拟机运行后,父类的初始化动作先执行。然后是子类的初始化动作。

1.1. 类成员,实例成员

类中被 static 修饰的成员。是类成员。调用方式:类名.成员遍历名/成员方法名();

没有被 static 修饰的成员,是对象(实例)成员。调用方式:对象名.成员遍历名/成员方法名();

静态成员变量,局部变量的存放位置?

使用 static 修饰的类变量,属于类而非实例。

  • JDK 8 之前,存放位置: 方法区(Method Area)
  • JDK 8 及之后,存放位置: 元空间(MetaSpace,属于本地内存)

局部变量(在方法、代码块、构造函数中定义的变量,包括参数)

  • 存放位置: Java 虚拟机栈(JVM Stack)栈帧(Stack Frame)中的局部变量表

1.2. 设计模式-单例模式

23设计模式,问题的最优解。

单例模式解决问题:只能有一个类的实例。

2. extends

单继承,多层继承。父子类。

2.1. 方法重写

重写父类的方法。

2.2. 权限修饰符

权限修饰符:描述类中的成员,可以被其他类访问的范围

2.3. super

表示父类的构造器,成员

System.out.println("hello world")

2.4. this

表示子类的构造器,成员

System.out.println("hello world")

下一节:02-面向对象编程进阶-2