首页 > 代码库 > Java基础- super 和 this 解析
Java基础- super 和 this 解析
1. super关键字表示超(父)类的意思。this变量代表对象本身。
2. super访问父类被子类隐藏的变量或覆盖的方法。当前类如果是从超类继承而来的,当调用super.XX()就是调用基类版本的XX()方法。
其中超类是最近的父类。
3.调用super() 父类构造函数的时候只能调用在子类构造函数的第一行
4.this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this
列子:
class Person { protected void print() { System.out.println("The print() in class Person."); } } public class DemoSuper extends Person { public DemoSuper(){ super(); //调用父类的构造方法,而且放第一行,如果不写,系统自动加 } public void print() { System.out.println("The print() in class DemoSuper."); super.print();// 调用父类的方法 } public static void main(String[] args) { DemoSuper ds = new DemoSuper(); ds.print(); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。