以下代码我希望的结果是100,但为什么运行后结果确实10??
class Test1{
private int i = 0;
Test1(int i){
this.i = i;
}
public int value(){return i;}
public void readi(){System.out.println(Integer.toString(i));}
}public class Test extends Test1{
Test(){
super(10);
}
public int value(){return super.value()*10;}
public static void main(String[] args){
Test test = new Test();
test.value();
test.readi();
}
}
class Test1{
private int i = 0;
Test1(int i){
this.i = i;
}
public int value(){return i;}
public void readi(){System.out.println(Integer.toString(i));}
}public class Test extends Test1{
Test(){
super(10);
}
public int value(){return super.value()*10;}
public static void main(String[] args){
Test test = new Test();
test.value();
test.readi();
}
}
楼主【llm0528】截止到2008-07-28 16:33:34的历史汇总数据(不包括此帖):
发帖的总数量:64 发帖的总分数:1330 每贴平均分数:20
回帖的总数量:56 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:64 结贴的总分数:1330
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
看你写的这个函数...
输出的是i吧...你的i给了个10,当然输出10了
这样就是100了.
你没有输出test.value()的结果.
this.i = i;
} public int value() {
return this.i;
} public void readi() {
System.out.println(Integer.toString(this.i));
}}public class Test extends Test1 { Test() {
super(10);
} public int value() {
return super.value() * 10;
} public static void main(String[] args) {
Test test = new Test();
System.out.println(test.value()); //看看这行输出多少
test.readi(); //i 当然等于 10,因为你 super(10); 了
}}