Java学习----this和super(在继承中)

 

 

public class Base {
    /*public Base() {
        System.out.println("Base 类的初始构造方法");
    }*/
    
    public Base(int x) {
        System.out.println("Base 类的重载构造方法");
    }
    
    public void a() {
        System.out.println("Base:a()");
    }
    
    public void b() {
        // this 在哪个类里就是哪个对象本身
        this.a();
    }
    
    public static void main(String[] args) {
        Base obj = new Base(2);
        obj.b();
    }
}
Base 类的重载构造方法
Base:a()

 

 

public class Sub extends Base{
    public Sub() {
        // 默认调用不带参数的构造方法,因为父类没有不带参数的构造方法,所以要显示调用带参数的构造方法
        //super();
        // 调用父类的构造方法
        super(100);
        // 调用父类的方法
        super.a();
        System.out.println("Sub类的初始化构造方法");
    }
    
    public static void main(String[] agrs) {
        // 子类对象构造时会先调用父类的构造方法
        Sub obj = new Sub();
    }
}
Base 类的重载构造方法
Base:a()
Sub类的初始化构造方法

 

posted @ 2016-01-03 16:39  Dragon&Hmm  阅读(123)  评论(0编辑  收藏  举报