请问B obj = new A();中B和A的关系? delphi中(汽车类型)B (汽车类型变量)obj= new (此处可以是<1>抽象的汽车类B,也可以是具体的某种汽车类B'<比如说轿车类BBb\>) A(); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就如这样,我定义了一个Thread的子类subThread实例化的时候我指定一个新的对象A:Thread A=new subThread()因为subThread是Thread的子类,所以可以用Thread来声明A当然,你用subThread来声明A也是可以的,这里的声明只是指定A的类型而已 B一般来说,最好的是A得借口,而不是A的父类因为这样可以动态的换掉B,而不是依赖,具体的B,编程要依赖接口,尽量不要依赖具体的类! B是A的父类,A的方法覆盖B的方法 B obj = new A();A()是B的构造函数 B是 obj的静态型别A是 obj的动态型别B类型在程序运行中存放在栈中,A类型信息则存放在堆中。 这里可以有三种情况。1、B是A的父类。2、B是一个抽象类,而A是该抽象类的一个实现。3、B是一个接口,而A是一个实现了该接口的类。 我不同意JetGeng(Geng)说的第2条说法:B是一个抽象类,而A是该抽象类的一个实现。抽象类是不能被实例化的,我个人认为,A是B的一个内隐类,这里发生了A到B的“向上转型”,这样做B无法碰触到A的内部实现细节,但可以把A类型的对象当作B类型来用。 JTable中 如何实现两列数据互换位置? (请高手留步)你一个简单的算法问题 socket 多人聊天 求高手看看 怎么解决 多态问题 一个正则表达式,匹配中文中的全角字符. [求助]请问,如何在Java中将一个磁盘上的文件移动位置? java 小程序的问题 请问jcreator里面的自动提示功能怎么只有jdk里面的类库方法提示,而没有j2ee里面的类库方法提示呢? 还是我的考试:) Java 中如何实现Always On Top功能 String r如何转换为java.lang.Long 用install anywhere6.0 制作安装文件报错
实例化的时候我指定一个新的对象A:Thread A=new subThread()
因为subThread是Thread的子类,所以可以用Thread来声明A
当然,你用subThread来声明A也是可以的,这里的声明只是指定A的类型而已
因为这样可以动态的换掉B,而不是依赖,具体的B,
编程要依赖接口,尽量不要依赖具体的类!
A是 obj的动态型别
B类型在程序运行中存放在栈中,A类型信息则存放在堆中。
1、B是A的父类。
2、B是一个抽象类,而A是该抽象类的一个实现。
3、B是一个接口,而A是一个实现了该接口的类。
抽象类是不能被实例化的,我个人认为,A是B的一个内隐类,这里发生了A到B的“向上转型”,这样做B无法碰触到A的内部实现细节,但可以把A类型的对象当作B类型来用。