1、成员变量vs静态变量
- 两个变量的生命周期不同
- 成员变量随着对象的创建而存在,随着对象的回收而释放。
- 静态变量随着类的加载而存在,随着类的消失而消失。
- 调用方式不同
- 成员变量只能被对象调用。
- 静态变量可以被对象调用,(建议) 还可以被类名调用。
- 别名不同
- 成员变量也称为实例变量。
- 静态变量也称为类变量。
- 数据存储位置不同
- 成员变量存储在堆内存的对象中,所以也叫对象的特有数据。
- 静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据
2、super
2.1、注意点
- super调用父类的构造方法,必须在构造方法的第一行,所以super和this不能同时调用构造方法!
- super 必须只能出现在子类的方法或者构造方法中!
2.2、super VS this
-
代表的对象不同:
-
this:本身调用者这个对象
-
super:代表父类对象的引用
-
-
前提:
-
this:没有继承也可以使用
-
super:只能在继承条件下才可以使用
-
-
构造方法:
-
this():本类的构造
-
super():父
-