一、类方法和实例方法的调用
先看一道选择题:
下列哪种说法是正确的( )
A. 实例方法可直接调用超类的实例方法
B. 实例方法可直接调用超类的类方法
C. 实例方法可直接调用其他类的实例方法
D. 实例方法可直接调用本类的类方法
先复习一下,类方法(static方法)
在类方法中,不能引用实例变量
不能使用super、this关键字
不能调用类方法
不考虑访问修饰符的话,
实例方法可以通过super.方法名,对象名.方法名调用父类的实例方法
实例方法可以通过类名.方法名,super.方法名调用父类的静态方法
实例方法通过this.方法名调用本类的其他方法
本类的静态方法还可以用类名.方法名调用。
在本题中,如果是私有的,ABC都不能访问 所以选D
二、java中super关键字
1.在子类构造器中显示调用父类构造器(super必须出现在子类构造器的第一行)
2..可以在子类中充当临时父类对象,super.方法名调用父类的方法
三、java中this关键字
1.代表当前对象,指向成员变量和成员方法
2.指向某个构造方法,通过this调用其他构造方法。
this();//代表无参构造方法
四、访问控制符
访问级别 访问控制修饰符 同类 同包 子类 不同的包
公开级别: public y y y y
受保护 protected y y y
默认 没有访问控制符 y y
私有 private y