求JAVA高手指点解答!

34.classParent{voidprintMe(){System.out.println(“parent”);}}classChildextendsParent{v... 34. class Parent{
void printMe(){System.out.println(“parent”);}
}
class Child extends Parent{
void printMe(){System.out.println(“child”);}
void printAll(){super.printMe(); this.printMe(); printMe();}
}
public class Test_this{
public static void main(String args[ ]){ Child myC=new Child(); myC.printAll();}
}
展开
 我来答
r830306
2011-11-20
知道答主
回答量:13
采纳率:0%
帮助的人:12.9万
展开全部
new的执行顺序,我想这才是你真正需要的
1、分配内存空间;
2、默认(隐式)初始化
类变量 static int x; 默认初始化后 x=0;
局部变量 不会被 默认初始化,必须进行显示初始化,否则出现错误;
3、显式初始化
Int i = 5;
显式初始化后 i = 5。显式初始化对类变量和局部变量无区别;
4、执行构造
如果该类具有父类,则首先执行父类构造。

下面给出答案:
首先看main方法
Child myC=new Child();
这里需要创建一个新的Child对象,并声明一个指向该Child对象的引用对象变脸myC。
因为Child对象具有父类,所以先执行父类构造,故输出
parent
之后执行自己的构造,但是只有默认构造,故...
myC.printAll();
调用了printAll()方法,在printAll方法中super.printMe();调用了父类的printMe方法,故输出
parent
之后this.printMe(); 调用自身的printMe方法,故输出
child
最后printMe();调用了自身的printMe方法,因为自身重写了父类的printMe方法,故输出
child
最终答案:
parent
parent
child
child
更多追问追答
追问
高手,我还有一个问题耶
追答
你说吧
hewei000good
2011-11-20
知道答主
回答量:4
采纳率:0%
帮助的人:7055
展开全部
我有点看不懂额 你的main方法怎么放在class test—this里面运行??? 问题太多 无法回答
我改了一下
class Parent{
void printMe(){System.out.println("parent");}
}
public class sd extends Parent{
void printMe(){System.out.println("sd");}
void printAll(){super.printMe(); this.printMe(); printMe();}

public static void main(String args[]){
sd sd1=new sd();
sd1.printAll();
}
}
追问
这是老师出的题目,要考的,不太懂啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Miceal1987
2011-11-20
知道答主
回答量:64
采纳率:0%
帮助的人:24.7万
展开全部
parent
child
child
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式