多态:就是父类引用可以持有子类对象。这时候只能调用父类中的方法,而子类中特有方法是无法访问的,因为这个时候(编译时)你把他看作父类对象的原因,但是到了运行的时候,编译器就会发现这个父类引用中原来是一个子类的对像,所以如果父类和子类中有相同的方法时,调用的会是子类中的方法,而不是父类的。 可以这么说:编译时看父类,运行时看子类。
public class Parent { public void A(){ Log.e("yan","ParentA"); } }public class Student extends Parent{ @Override public void A() { Log.e("yan", "StudentA"); } public void B() { Log.e("yan", "StudentB"); } }Parent p=new Student(); p.A();01-15 09:40:31.285 3483-3483/org.lmw.demo.slidingtab E/yan: StudentA