| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 635 人关注过本帖
标题:请高手帮我看看一个继承的问题
只看楼主 加入收藏
hnngm
Rank: 1
来 自:河南洛阳
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-10-31
收藏
 问题点数:0 回复次数:1 
请高手帮我看看一个继承的问题
public class A {
    String s="[a]";
    String gets()
    {return s;}
    
    

}



public class B extends A
{
    String s="[b]";
    String gets() {return s;}
    

}




public class ploytest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO 自动生成方法存根
        A a=new A();
        B b=new B();
        a.s="[aa]";
        b.s="[bb]";
        a=b;
        
        System.out.println(a.s);
        System.out.println(b.s);
        
        System.out.println(a.gets());
        System.out.println(b.gets());
        
        ((A)b).s="[aa]";
        System.out.println(a.s);
        System.out.println(b.s);
        System.out.println(a.gets());
        System.out.println(b.gets());
       
        

    }
    

}

为什么结果是这样:
[a]
[bb]
[bb]
[bb]
[aa]
[bb]
[bb]
[bb]
请帮分析一下吧,谢谢了
搜索更多相关主题的帖子: 继承 
2008-04-12 12:13
酒浪子
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2007-9-25
收藏
得分:0 
继承的问题
A a=new A();//a对象的属性s="[a]"
B b=new B();//b对象的属性s="[b]",同时它也继承A类的属性s="[a]"
a.s="[aa]";//将a对象的属性s赋值为"[aa]"
b.s="[bb]";//b对象的属性s赋值为"[bb]"
a=b;//将b对象的地址赋给a,a中存放的是b对象的地址,这时等同于指针,同时
    它也拥有b对象的所有属性.既b对象的属性s="[bb]",和b对象继承A类的属
    性s="[a]"
System.out.println(a.s);//因为a对象指向b象,a.s调用的是b对象中继承A类
    的属性s="[a]"
System.out.println(b.s);//b.s调用的是b对象本身类(B类)中的s="[bb]"
        
System.out.println(a.gets());
System.out.println(b.gets());//因为a对象指向b对象,这两条语句的效果是
    一样的都是调用的B类中的gets()方法,返回的是本类中的s属性值为"[bb]"

        
((A)b).s="[aa]";//同上面一样,这里只是改变了B类继承A类的s="[a]"的值改
    为了"[aa]",而本类里的s="[bb]"的属性值没有改变
System.out.println(a.s); //下面的运行方式和上面的是一样的,就不用多说了
System.out.println(b.s);
System.out.println(a.gets());
System.out.println(b.gets());
其实你如果把两个s的名称换成不一样的很容易看出来的!
2008-04-12 16:23
快速回复:请高手帮我看看一个继承的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029105 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved