super是java中的一个关键字
super关键字两种语法
1.super.;
2.super();
不使用super关键字
代码如下:
//父类
public class A {
int x;
void eat(){
System.out.println("我是A里的");
}
}
//子类
public class B extends A{
void eat(){
System.out.println("我是B里的");
}
}
public class Super {
public static void main(String[] args) {
A a = new A();
B b = new B();
a.eat();
b.eat();
}
}
输出如下:
我是A里的 我是B里的 Process finished with exit code 0
使用super的话,代码如下:
//父类
public class A {
int x;
public A(int x) {
}
void eat(){
System.out.println("我是A里的");
}
}
//子类
public class B extends A{
B(int x){
super(x);
}
@Override
void eat() {
super.eat();
}
}
public class Super {
public static void main(String[] args) {
A a = new A(3);
B b = new B(4);
a.eat();
b.eat();
}
}
输出如下:
我是A里的 我是A里的
可以看到,子类B中的eat方法使用super关键字来对父类中的eat方法进行重写(重写:http://t.csdn.cn/3z27C)
注意事项:
如果子类想使用父类的构造方法,必须在子类的构造方法中使用且必须使用关键字super,而且super必须是子类构造方法的第一条语句。



