首页 > 代码库 > java基础-关键词super与this
java基础-关键词super与this
转发:itbooks
this是调用自己本身的构造函数,而super是调用父类中的构造函数。
这两个关键词是用在构造函数中的,这两个关键词的设计也是对封装特性的一种考虑,避免编写不必要的重复代码。
class Animal{//定义构造函数,要求子类必须初始化名字Animal(String _name){this.name=_name;}//动物名字private String name;void showName(){System.out.println(name);}}class Dog extends Animal{private int age;//创建狗的实例的时候必须给它一个名字Dog(String _name) {//调用父类构造函数进行初始化super(_name);}Dog(int _age,String _name){this(_name);//调用自己的构造函数进行初始化this.age=_age;}}
从上面列子可以看出来,super是用来调用父类的构造函数的,并且它必须在调用派生类构造函数之前调用,根据java初始化
顺序首先是初始化最顶级的父类依次往下初始化,最后才初始化本身构造函数。实例中this关键词是用来调用本身的构造函数,这样就没必要再去重复写一遍name的初始化了。
可以去试试,this是不允许再super之前调用的。
java基础-关键词super与this
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。