Java中super的用法
super出现在继承了父类的子类中。有三种存在方式:
- 第一种super.xxx;(xxx为变量名或对象名)这种方法意义为,获取父类中的名字为xxx的变量或方法引用。使用这种方法可以直接访问父类中的变量或对象,进行修改赋值等操作
- 第二种super.xxx();(xxx为方法名)这种方法意义为,直接访问并调用父类中的方法。
- 第三种super();这种方法意义为,调用父类的初始化方法,其实就是调用父类中的public xxx()方法
追问: 第三种在写代码的时候可以省略吗.?
回答:
看情况,比如说,你自己从新封装了jdk里面的HashMap类,public class MyMap extends HashMap
这时候,如果你想在实际应用中使用自己的类代替系统中原有的HashMap,就需要写如下代码
public MyMap(){
super();
}
这样,你自己写的类MyMap map = new MyMap();
才能使用这样做的好处是,你可以不知道原来父类的初始化构造函数是怎么写的。但是却可以轻易封装它。