参考答案
this:
- 对象内部指代自身的引用
- 解决成员变量和局部变量同名问题
- 可以调用成员变量
- 不能调用局部变量
- 可以调用成员方法
- 在普通方法中可以省略 this
- 在静态方法当中不允许出现 this 关键字
super:
- 代表对当前对象的直接父类对象的引用
- 可以调用父类的非 private 成员变量和方法
- super(); 可以调用父类的构造方法,只限构造方法中使用,且必须是第一条语句
static:
- static 可以修饰变量、方法、代码块和内部类
- static 变量是这个类所有,由该类创建的所有对象共享同一个 static 属性
- 可以通过创建的对象名.属性名 和 类名.属性名两种方式访问
- static 变量在内存中只有一份
- static 修饰的变量只能是类的成员变量
- static 方法可以通过对象名.方法名和类名.方法名两种方式来访问
- static 代码块在类被第一次加载时执行静态代码块,且只被执行一次,主要作用是实现 static 属性的初始化
- static 内部类属于整个外部类,而不属于外部类的每个对象,只可以访问外部类的静态变量和方法
abstract:
- 可以修饰类和方法
- 不能修饰属性和构造方法
- abstract 修饰的类是抽象类,需要被继承
- abstract 修饰的方法是抽象方法,需要子类被重写