1 问题
当我们继承了一个类以后,改变或者重写了父类的属性或者方法以后,我们怎么才能继续使用父类中未被改变的属性或方法?
2 方法
我们就可以使用super( )方法,super( )是指向基类的。
用法:
super.XXX( 这里的XXX指的是父类的成员变量名即父类的属性,或者对象名)
super.XXX( ) ( 这里的XXX是父类中的其中一个方法名)
super( ) ( 这种形式指的是:调用父类没有参数的构造方法(也叫构造函数)注意: 这里super( ) 只能放在子类的构造方法里面,并且只能放在构造方法的首句)
super( x,y,z...) (此形式指:调用父类有参数的构造方法,也必须放在子类的构造方法(成员方法不可以)里面,并且只能放在构造方法的首句。其中x,y,z是指的与父类此有参构造方法中参数数据类型相对应的子类中的参数)
public class TestM01 { int a=1; TestM01(){} void find(){ System.out.println("我是父类的方法!"); } } public class TestM02 extends TestM01{ int a = 2; @Override void find() { super.find(); System.out.println("我是子类的方法!"); } public static void main(String[] args) { TestM02 b = new TestM02(); b.find(); } } |
3 结语
针对调用父类属性,成员变量,方法,我们就可以使用super(),这个方法非常的简单好用。