Java中super和this的用法详解
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内存图解
总结
到此这篇关于Java中super和this的用法的文章就介绍到这了,更多相关Java中super和this的用法内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!
相关文章:
