parentclass=>父类
subclass=>子类1.parentclass pc=new subclass();2.subclass sc=new subclass();
parentclass pc=new parentclass();
pc=sc;3.subclass sc=new subclass();
parentclass pc=sc请问这三种情况分别是什么意思?最后PC的情况是什么?第1种情况是否和第3种情况意思相同?
subclass=>子类1.parentclass pc=new subclass();2.subclass sc=new subclass();
parentclass pc=new parentclass();
pc=sc;3.subclass sc=new subclass();
parentclass pc=sc请问这三种情况分别是什么意思?最后PC的情况是什么?第1种情况是否和第3种情况意思相同?
解决方案 »
- Myeclipse打包问题
- 关于JAVA的问题
- JOptionPane.showInputDialog覆盖的问题???
- 高手帮忙看看这段java代码
- 关于BUTTON焦点的问题
- 一个函数
- 请大家玩玩的做的扫雷游戏,高度模仿windows的扫雷
- 关于接口与继承
- 将中文在图片上输出,需要指定字体吗?
- linux系统下,我用WINE安装了普通的QQ, 没见它的图标 请问我怎么运行它?到哪里找? 我连C盘也没找到,在哪儿?在线等!!谢谢
- 使用jdk1.6后,如果弹出两个dialog,在第2个上输入中文,界面会切换到第1个dialog上,输入完成后有切换回第2个,怎么解决?
- 输出B1@10b30a7是什么意思??
楼主【duanjianbo26】截止到2008-07-24 15:22:19的历史汇总数据(不包括此帖):
发帖的总数量:15 发帖的总分数:460 每贴平均分数:30
回帖的总数量:36 得分贴总数量:7 回帖的得分率:19%
结贴的总数量:12 结贴的总分数:310
无满意结贴数:6 无满意结贴分:260
未结的帖子数:3 未结的总分数:150
结贴的百分比:80.00 % 结分的百分比:67.39 %
无满意结贴率:50.00 % 无满意结分率:83.87 %
楼主加油
定义一个父类变量pc,引用一个子类实例对象
2.subclass sc=new subclass(); 定义一个子类变量sc,引用一个子类实例对象
parentclass pc=new parentclass(); 定义一个父类变量pc,引用一个父类实例对象
pc=sc; 让pc变量引用改变为sc所引用的子类实例对象
3.subclass sc=new subclass(); 定义一个子类变量sc,引用一个子类实例对象
parentclass pc=sc;定义一个父类变量pc,引用sc所引用的子类实例对象第一种情况只有pc引用subclass的一个实例对象
第三种情况pc和sc同时引用subclass的同一个实例对象
2.子类型引用指向子类型的对象
父类型引用指向父类型的对象
赋值,pc和sc都指向子类型的对象
3.子类型引用sc指向子类型对象
父类型引用pc和字类型引用sc都指向子类的对象.
第一种情况和第三种相同.
你说的parentclass pc=new subclass();通常都是用于接口的情况比较多。
因为接口不能实例化,
所以要使用一个接口时,都是声明一个接口,然后实例化这个接口的实现类,这个接口引用该实例。
最终pc的情况:我的理解是它还是只拥有自己parentclass的属性和方法,但是它的方法可能会被覆盖!私有的方法在其子类中只是新定义了一个方法,并没有对其进行覆盖。
class A
{
int a=1;
void m1(){
System.out.println("A->m1");
}
void m2(){
this.m1();
}
}
class B extends A
{
void C(){
a=3;
}
void m1(){
System.out.println("B->m1");
}
}
class C extends B{
void m1(){
System.out.println("C->m1");
}
void m3(){
System.out.println("C->m3");
}
}
public class echo
{
public static void main(String args[])
{
A xx = new C();
xx.m1();//输出C->m1,c直接覆盖了a的m1方法?
xx.m2();//输出C->m1,说明m2中this.m1()的this是指引用c,从而知道m1方法被覆盖了?
//xx.m3();报在A类中未定义
}
}
不知道上述的理解是否正确?这三种情况最终的pc都具有相同的特点?