黑马程序员技术交流社区

标题: 关于创建对象时用父类类型的问题。 [打印本页]

作者: hzhzhen    时间: 2015-5-15 12:52
标题: 关于创建对象时用父类类型的问题。
A extends B{
}

B b=new A();
这个时候对象b是不是就不能用A有B没有的方法?
作者: 杨春雨    时间: 2015-5-15 13:25
  1. public class B{
  2.         public void testB(){
  3.                 System.out.println("B方法");
  4.         }
  5. }
  6. public class A extends B{
  7.         public void testA(){
  8.                 System.out.println("A方法");
  9.         }
  10.         public static void main(String[] args) {
  11.                 //声明了一个B对象 因为B是父类你new一个A大小的空间。
  12.                 //但这个空间只会放一个B对象
  13.                 B b = new A();
  14.                 //所以只可以调用B对象中的方法,A对象的方法无法调用。
  15.                 b.testB();
  16.         }
  17. }
复制代码

作者: 赵旗    时间: 2015-5-15 14:29
还是你多态不熟悉啊! 你只要记住一句话 满足多态的 编译看左边执行看右边. 不满足多态的编译和执行都是看左边的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2