super 关键字的使用
- super.属性; 子类中访问父类的属性
- super.父类方法名(); 子类调用父类的方法
- super.成员方法(参数1,参数2,…); 用来调用父类的有参构造函数
- super(); 调用父类无参构造方法,没有显示时,系统都会提供一个默认的。
- super(); 书写在第一行
代码如下
父类代码:
public class Tree {
protected String name;//树的名字
protected int age;//树的年龄
public Tree(){
System.out.println(“我是树的父类”);
}
public Tree(String name, int age) {
super();
this.name = name;
this.age = age;
}
public void guangHeZuoYong(){ System.out.println(“树可以光合作用”);
}}
子类的代码
public class LiuTree extends Tree{
private String branch;//树枝
//super();代表父类的无参构造方法,即使不写也会调用
public LiuTree() {
//super();//子类的无参构造方法调用父类的无参构造方法
super(“a”,10);//调用父类的有参构造方法,同时必须要保证在第一行
this.branch=“长”;
}
@Override //校验
public void guangHeZuoYong(){
//方法覆盖或是方法重写:子类里面方法名、参数保持一致
System.out.println(“柳树可以光合作用”);
}
public void test(String name){
//子类调用父类的属性时:super.父类属性名 super.name = name; //super.name代表从父类里边继承过来的
//子类调用父类的方法时:super.父类方法名 super.guangHeZuoYong();
//调用同一类中的方法 this.guangHeZuoYon();
}
}