class Parent{
int x=10;
public Parent(){
add(2);
}
int add(int y){
x+=y;
return x;
}
}
class Child extends Parent{
int x=9;
int add(int y){
x+=y;
return x;
}
public static void main(String[] args){
Parent p=new Child();
Parent p1=new Parent();
Child c = new Child();
System.out.println(p.x); //结果 10
System.out.println(((Child)p).x); //结果9
System.out.println(p.add(2)); //结果11
System.out.println(((Child)p).add(2)); //结果13
System.out.println(c.x+" "+c.add(2)); //结果 9 11
//System.out.println(((Child)p1).x); //错误 父类不能继承子类
}
} --------------------------------
class Parent{
int x=10;
public Parent(){
add(2);
}
int add(int y){
x+=y;
return x;
}
}
class Child extends Parent{
int x=9;
public static void main(String[] args){
Parent p=new Child();
Parent p1=new Parent();
Child c = new Child();
System.out.println(p.x);
System.out.println(((Child)p).x);
System.out.println(p.add(2));
System.out.println(((Child)p).add(2));
System.out.println(c.x+" "+c.add(2));
}
} 谁能帮我分析下上面的两段程序在内存是如何使用的 或者 结果是怎么得出来的。 谢谢!!!
int x=10;
public Parent(){
add(2);
}
int add(int y){
x+=y;
return x;
}
}
class Child extends Parent{
int x=9;
int add(int y){
x+=y;
return x;
}
public static void main(String[] args){
Parent p=new Child();
Parent p1=new Parent();
Child c = new Child();
System.out.println(p.x); //结果 10
System.out.println(((Child)p).x); //结果9
System.out.println(p.add(2)); //结果11
System.out.println(((Child)p).add(2)); //结果13
System.out.println(c.x+" "+c.add(2)); //结果 9 11
//System.out.println(((Child)p1).x); //错误 父类不能继承子类
}
} --------------------------------
class Parent{
int x=10;
public Parent(){
add(2);
}
int add(int y){
x+=y;
return x;
}
}
class Child extends Parent{
int x=9;
public static void main(String[] args){
Parent p=new Child();
Parent p1=new Parent();
Child c = new Child();
System.out.println(p.x);
System.out.println(((Child)p).x);
System.out.println(p.add(2));
System.out.println(((Child)p).add(2));
System.out.println(c.x+" "+c.add(2));
}
} 谁能帮我分析下上面的两段程序在内存是如何使用的 或者 结果是怎么得出来的。 谢谢!!!
解决方案 »
- 苦恼的问题"不能在 UTF8 和 UCS2 之间转换: failUTF8Conv",有人遇到相同的问题吗?
- 请问service层中怎么拿到httpSession?
- 求救!诡异的update installer 6.0.2.7
- session的问题,怎么在关闭IE的时候删除session中的指定对象?
- 求问<html:errors/>
- hql的问题
- 看了很多人现在在学Struts,我建个群,大家共同进步
- 敬请各位指点
- SOS求救,JSP调用EJB时候 出现的问题,如何解决问题
- j2ee部署EJB无法和cloudscape数据库建立连接!(急!!!!!!!)
- 我用xfire1.2.6 调用web service方法 还加入了soap验证
- ibatis数据类型与oracle数据类型转换及处理
实例化子类的时候会先执行父类的构造方法 调用子类的add()
但是在构造方法执行的时候 x还没有被赋值 也就是0 当构造方法执行后x才会被赋值 所以child对象的x是9
parent对象的x是10
System.out.println(((Child)p).add(2));