java se super、this关键字

2020-02-09  本文已影响0人  起名字真难难难

继承中,构造方法的访问特点

1、子类创建的构造方法中,有一个默认隐含的super()调用,所以先执行父类,在执行子类
2、可通过super调用父类重载构造
3、super()的父类调用,必须是子类构造的第一个语句,不能一个构造多次使用super()调用
4、子类必须调用父类构造,

public class Fu {
    public Fu(int num){
        System.out.println("父类有参构造方法");
    }
    public Fu(){
        System.out.println("父类无参构造方法");
    }
}
public class Zi extends Fu{
    public Zi(){
        super(10);//通过super调用父类重载构造
      //super();错误,不·是子类构造的第一个语句
        System.out.println("子类构造方法");
    }
}

super关键字的三种用法

1、子类成员方法访问父类成员变量

public class Fu {
    int num=2;
}
public class Zi extends Fu{
    public void method(){
        System.out.println(super.num);//访问父类成员变量
    }
}

2、子类成员方法访问父类成员方法

public class Fu {
    public void method(){
        System.out.println("父类方法");
    }
}
public class Zi extends Fu{
    public void method(){
        super.method();
    }
}

3、子类构造方法访问父类构造方法

public class Fu {
    public Fu(){
    sout("父类构造")
    }
}
public class Zi extends Fu{
    public Zi(){
        super();
    }
}

this的三种用法

this用来访问本类中的内容
1、本类成员方法中,访问成员变量
2、本类成员方法中,访问另一个成员方法

public void method1(){
        System.out.println("哈哈");
    }
    public void method2(){
        this.method1();
    }
上一篇下一篇

猜你喜欢

热点阅读