学生类(Student)继承于(Extends)人类(Person)
Student s1 = new Student();
Person s2 = new Student();
s1可以执行自己(Student)的所有方法,包括继承而来的。
s2不能执行Student独有的方法。
对象可以执行哪个方法主要看对象左边的类名。
Extra e = new Extra();
Extra ee = new Extra2();
e.say();
//方法的重写时,会调用子类的方法!
ee.say();
//ee对象只能调用对象左边类中的方法。所以会报错!
//不能使用父类的对象调用子类的方法,需要转换。
//ee.eat();
//类型转换!
((Extra2)ee).eat();
//由于继承,转换后仍然可以调用父类方法。
((Extra2)ee).drink();
//子类对象转为父类对象时,可能会丢失独有的方法!所以会报错!
//((Extra)ee).eat();