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的用法内容请搜索呐喊教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持呐喊教程!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。