时间:2020-10-09 22:41:27 | 栏目:JAVA代码 | 点击:次
super 用法
super关键字用来访问父类内容,具体用法可分为三种:
1.子类的成员方法访问父类的成员变量
public class Animal { public int age = 10; } class Dog extends Animal { public int age = 5; public void showAge() { System.out.println(super.age); } }
2.子类的成员方法访问父类的成员方法
public class Animal { public void fn(){ System.out.println("父类Animal的方法"); } } class Dog extends Animal { @Override public void fn() { super.fn(); System.out.println("子类Dog的方法"); } }
3.子类的构造方法访问父类的构造方法
public class Animal { public Animal() { System.out.println("父类Animal的构造方法"); } } class Dog extends Animal { public Dog() { super(); System.out.println("子类Dog的构造方法"); } }
this 用法
this关键字用来访问本类内容,具体用法可分为三种:
1.本类的成员方法访问本类的成员变量
public class Dog extends Animal { public int age = 1; public void showAge() { int age = 3; System.out.println(age); System.out.println(this.age); } }
2.本类的成员方法访问本类的另一成员方法
public class Dog extends Animal { public int age = 1; public void showAge() { int age = 3; System.out.println(age); System.out.println(this.age); } public void fn() { this.showAge(); } }
3.本类的构造方法访问本类的另一个构造方法,此时this(…)调用必须放在这个构造方法中的第一句,且只能使用一次
public class Dog extends Animal { public Dog() { this(2); System.out.println("无参构造"); } public Dog(int age) { System.out.println(age); System.out.println("有参构造"); } }
super和this内存图解
总结