
求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();}
} 展开
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();}
} 展开
3个回答
展开全部
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
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
更多追问追答
追问
高手,我还有一个问题耶
追答
你说吧
展开全部
我有点看不懂额 你的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();
}
}
我改了一下
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();
}
}
追问
这是老师出的题目,要考的,不太懂啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
parent
child
child
child
child
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询