super关键字的用法

/*
super关键字的用法有三种:
1.在子类的成员方法中,访问父类的成员变量。
2.在子类的成员方法中,访问父类的成员方法。
3.在子类的构造方法中,访问父类的构造方法。
 */
public class Zi extends Fu {
    int num = 20;
    public  Zi(){
        super();
    }
    public void  methodZi(){
        System.out.println(super.num); //父类中的num
    }
    public void method(){
        super.method(); //访问父类中的method
        System.out.println("子类方法");
    }
}
public class Fu {
    int num = 10;
    public void method(){
        System.out.println();
    }
}

与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 ){

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

        }
}
public class Fu {
    int num =30;
}


 

 

你可能感兴趣的:(java)