大家好:
我今天看到一个有关继承和重写的情况里,有个例子挺有意思的!我也挺纳闷的?我在此贴出来,望大家指点迷津,共同学习进步!public class Target extends Depend
{
int i = 30; public Target() {
print();
i = 40;
}
void print() {
System.out.println(" Target=> " + i);
} public static void main(String[] args) {
Target s=new Target();
System.out.println(">>>" +s.i);
}
}class Depend {
int i = 10; public Depend() {
print();
i = 20;
} void print() {
System.out.println(" Depend=> " + i);
}
}
我今天看到一个有关继承和重写的情况里,有个例子挺有意思的!我也挺纳闷的?我在此贴出来,望大家指点迷津,共同学习进步!public class Target extends Depend
{
int i = 30; public Target() {
print();
i = 40;
}
void print() {
System.out.println(" Target=> " + i);
} public static void main(String[] args) {
Target s=new Target();
System.out.println(">>>" +s.i);
}
}class Depend {
int i = 10; public Depend() {
print();
i = 20;
} void print() {
System.out.println(" Depend=> " + i);
}
}
解决方案 »
- 如何获得布局管理器某一块的尺寸
- JButton数值传递
- Integer a = new Integer(3); 与int a=3; 都是堆栈里生成的吗??
- 异常一个日期
- 如何获取鼠标的当前坐标,非swing,awt中,而是普通类
- 用HTTP实现大文件下载时,断点续传问题,欢迎讨论,分数追加...
- 有人知道 java.io.Serializable 是什么吗?
- 高手请进,Apache+Tomcat
- 我的程序编译没有出错,但运行是出现如下错误,为什么?
- 我用javamail包,取Mail的附件时,为什么的不到中文字符串?
- (ParamStr(0),java;如何实现?找不到相同的
- 变量不初始化,可以输出吗?
楼主【coment2008】截止到2008-06-25 02:43:43的历史汇总数据(不包括此帖):
发帖数:9 发帖分:360
结贴数:9 结贴分:360
未结数:0 未结分:0
结贴率:100.00% 结分率:100.00%
敬礼!
OVER
但如果是个reference的话,就要出NullPointerException了
Target=> 30
>>>40应该是这个输出结果,原因是实例化父类时print() 方法被子类重写所以读的是子类的print() ,这时子类还没有实例化所以i还是0。
再实例化子类时当然会输出 Target=> 30,如果这里加上super就不一样了。
最后执行System.out.println(">>>" +s.i);
显示 >>>40