super能出现在实例方法和构造方法中。
super的语法是:“super.”、“super()”
super不能使用在静态方法中。
super. 大部分情况下是可以省略的。
super.什么时候不能省略呢?
父类和子类中有同名属性,或者说有同样的方法,
想在子类中访问父类的,super. 不能省略。
super() 只能出现在构造方法第一行,通过当前的构造方法去调用“父类”中
的构造方法,目的是:创建子类对象的时候,先初始化父类型特征。
super的使用:
super.属性名 【访问父类的属性】
super.方法名(实参) 【访问父类的方法】
super(实参) 【调用父类的构造方法
public class Test01 {
public static void main(String[] args) {
Animal a = new Cat();
a.move();
}
}
//
class Animal {
//姓名
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//成员方法 移动
public void move() {
}
//构造函数
public Animal() {
}
public Animal(String name) {
this();
this.name = name;
}
}
//猫类 父类 为 Animal
class Cat extends Animal{
public Cat() {
super("猫");//调用父类的有参构造函数 this()不能共存
}
public Cat(String name) {
super.setName(name);//调用父类的成员函数
}
public void move() {
System.out.println(super.getName()+"在爬");//调用父类的成员函数
}
}
】