标题:为什么输出不是派生类的aaa
只看楼主
tgnian
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-4-13
得分:0 
class SuperClass
{
String a="hello";
void test()
{
System.out.println(a);
}
}
public class SubClass extends SuperClass
{
String a="aaa";
public static void main (String args[])
{
SubClass bar=new SubClass();
bar.test();
System.out.println(bar.a);
}
}
不知道我提的问题对不对
在test()函数没覆盖前,在子类的内存中中有没有test()的内存 ,还是和父类共享一个test()
在test()函数没覆盖后,是不是在SubClass中只有String a=“aaa”,String a=“hello”,覆盖后(即子类自己定义的)test()的内存

2007-11-21 00:48
huwangvs
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:764
专家分:0
注 册:2007-2-4
得分:0 
java里,同一个类里不能有同名的变量来覆盖使用。。
继承里是不建议这么使用。。。

你就一个test方法。。怎么覆盖啊???
2007-11-21 09:02
狂放不羁
Rank: 4
等 级:贵宾
威 望:12
帖 子:925
专家分:0
注 册:2007-1-24
得分:0 

变量有作用域,方法是动态邦定.

2007-11-21 10:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-186446-1-1.html




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

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