1.通过父类型引用指向子类型对象来实现动态调用 B b = new B(); A a = b; //A为基类,B是继承A的子类 a.play(); //play()在A,B中均有定义,即子类重写(覆写)了该方法 分析: # 为什么父类型的引用可以指向子类型的对象? 自动实现向上转型。通过A a = b;语句,编译器自动将子类对象向上移动,成为A类型 # a.play()将执行子类还是父类中定义的方法? 子类的。在运行时期,将根据a这个引用所指向的实际对象来获取相应的方法,这也是多态性。一个父类的引用,指向不同的子类对象,执行该方法时,将表现出不同的行为。
牛逼 !!
阁下何不乘风起 扶摇直上九万里
。。。。