1. 1. /*
    2. 2. super关键字的用法有三种:
    3. 3. 1.在子类的成员方法中,访问父类的成员变量。
    4. 4. 2.在子类的成员方法中,访问父类的成员方法。
    5. 5. 3.在子类的构造方法中,访问父类的构造方法。
    6. 6. */
    7. 7. public class Zi extends Fu {
    8. 8. int num = 20;
    9. 9. public Zi(){
    10. 10. super();
    11. 11. }
    12. 12. public void methodZi(){
    13. 13. System.out.println(super.num); //父类中的num
    14. 14. }
    15. 15. public void method(){
    16. 16. super.method(); //访问父类中的method
    17. 17. System.out.println("子类方法");
    18. 18. }
    19. 19. }
    1. 1. public class Fu {
    2. 2. int num = 10;
    3. 3. public void method(){
    4. 4. System.out.println();
    5. 5. }
    6. 6. }

    与this的对比
    super关键字用来访问父类内容,而this 关键字用来访问本类内容,用法也有三种:
    1.在本类的成员方法中,访问本类的成员变量。
    2.在本类的成员方法中,访问本类的另一个成员方法。
    3.在本类的构造方法中,访问本类的另一个构造方法。
    在第三种用法中要注意:
    a. this(..)调用也必须是构造方法的第一语句,唯一一个
    b.super和this两种构造调用,不能同时使用。
    */
    public class Zi extends Fu{
    int num = 20;
    public Zi(){
    // super();
    this(134); //本类的无参构造,调用本类的有参构造
    }
    public Zi(int n ){

    1. }<br /> public Zi(int n, int m ){<br /> <br /> }<br /> public void showNum(){<br /> int num = 10;<br /> System.out.println(num); //局部变量<br /> System.out.println(this.num); //本类中的成员变量<br /> System.out.println(super.num); //父类中的成员变量
    2. }<br />}<br />public class Fu {<br /> int num =30;<br />}