Super用法

*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);
    }
    
}

你可能感兴趣的:(程序,java基础知识)