*super关键字: 类似与this关键字(当前当前对象);super关键字代表父类对象
*1.可以利用super关键字代表父类对象访问父类的属性和方法。
* super.属性--->访问父类的属性
* super.方法名()--->调用父类的方法
*2.可以使用super关键字调用父类的构造函数,必须出现在构造函数的第一行。
*3.super不能与static混用。
*/
package cn.cph.hhxx;
public class TestSuper {
public static void main(String[] args) {
// Child child = new Child();
Child child = new Child(300);
child.setVal();
}
}
class Father{
int val;
public Father() {
System.out.println("Father无参被调用了!");
}
public Father(int val) {
this.val = val;
System.out.println("Father有参被调用了!");
}
void Setval() {
val = 100;
System.out.println("Father.val="+val);
}
}
class Child extends Father{
int val;
public Child() {
super();//调用父类的无参构造方法
System.out.println("Child无参构造被调用了!");
}
public Child(int val) {
super(val);//调用父类的有参构造方法
System.out.println("Child的有参构造方法被调用了!\tChild.val="+val);
this.val = val;
}
public void setVal() {
super.Setval();//使用super调用父类的方法
val = 200;
System.out.println("Child.val="+val);
System.out.println("Father.val="+super.val);
}
}