public class Test {
public static void main(String[] args) {
Parent p=new Parent();
p.say();
Son s=new Son();
s.say();
Parent s1=new Son(); //这个是上转型,父母有了儿子的功能
// 也就是功能少的,可以使用功能多的了
s1.say();
// 儿子如何调用父类的方法呢?
// 没有被重写的方法,可以直接调用
// 这个也就是说,一旦重写了以后,调用父类的方法就很困难了。
System.out.println("__________");
//可以使用反射:通过一个对象,找到他父类的对象。
}
}
class Parent {
void say(){
System.out.println("i am a parent");
}
}
class Son extends Parent{
@Override
void say() {
// super不能够用在static的方法中,这个super就是代表使用父类。
super.say();
System.out.println("i am a son");
System.out.println("------------");
}
}
关于父类调用子类的方法,也就是上转型
子类调用父类的方法。
上面要关注几个字,也就是父类和子类,而不是父类的对象,和子类的对象。
static主类的方法,是不能够使用super的。super只能够只用父类的方法,也就是有继承关系才可以使用super。
super的意思就是上一代。
super的作用: 专门应用于子类调用父类(一定都是类,而不是对象)的方法或者属性。