public class AA {
int count = 2; public void getCount() { System.out.println("A" + this.count);
}}class BB extends AA {
int count = 20; // 重写方法
public void getCount() {
System.out.println("B" + this.count);
}
}class Test{
public static void main(String[] args) {
AA a=new AA();
System.out.println("直接调用A的变量"+a.count);//1
a.getCount();//2
BB b=new BB();//3
System.out.println("直接调用B的变量"+b.count);//4
b.getCount();//5
AA ab=new BB();//6
System.out.println("----"+ab.count);//7
ab.getCount();//8
}
}
输出 标志的1,2,3,4,5,6,7,8等处得值
麻烦解释下 7,8两处。尤其是7那里 和我猜想不一样,应该是我没理解对!请高手帮忙解释
int count = 2; public void getCount() { System.out.println("A" + this.count);
}}class BB extends AA {
int count = 20; // 重写方法
public void getCount() {
System.out.println("B" + this.count);
}
}class Test{
public static void main(String[] args) {
AA a=new AA();
System.out.println("直接调用A的变量"+a.count);//1
a.getCount();//2
BB b=new BB();//3
System.out.println("直接调用B的变量"+b.count);//4
b.getCount();//5
AA ab=new BB();//6
System.out.println("----"+ab.count);//7
ab.getCount();//8
}
}
输出 标志的1,2,3,4,5,6,7,8等处得值
麻烦解释下 7,8两处。尤其是7那里 和我猜想不一样,应该是我没理解对!请高手帮忙解释
解决方案 »
- 用java编写一个显示三角形数字表的程序
- 急求高手解决一个简单滴问题
- 如何检测SOCKET读取流(datainputstream)的打开或关闭状态,以避免出现读取异常?
- getColumnName()怎么和getColumnLabel()一样?怎么才能得到字段名? java ResultSetMetaData
- java面试题
- 大家看看我的这个那错了 输出的结果是null
- 这句话什么意思啊,请教高手
- 关于JNI的问题
- 关于解决在任何有能上网有浏览器的的机器(没装jdk)上运行Applet的方法
- 在程序中,怎样根据一个字符串,调用相关的类?
- KnightTour 骑士遍历问题
- SWING 透明按钮问题
呵呵,去测试下看。
AA ab=new BB();//6这句话具体怎么理解啊??
7既然是2那么8为什么又是20呢?
那位给解释清楚下啊!呵呵 小弟愚钝......
除开这个问题,其它就是继承和多态的问题。Java的成员变量不支持后期绑定,和引用类型保持一致,而方法是后期绑定,所以和对象的类型一致。因此,7的值为AA里面的2,而8的值是调用了BB中的getCount()方法,得到的值为20。简而言之就是,多态只针对方法,不针对成员变量希望这个答案对你有帮助