class superClass{
int Y;
superClass(){
Y=30;
System.out.println("in superClass:Y="+Y);
}
void doPrint()
{
System.out.println("In subClass.doPrint()");
}
}
class subClass extends superClass{
int Y;
subClass(){
super();
Y=50;
System.out.println("in subClass:Y="+Y);
}
void doPrint(){
super.doPrint();
System.out.println("in subClass.doPrint()");
System.out.println("super.Y="+super.Y+"sub.Y="+Y);
}
}
public class Q{
public static void main(String [] args){
subClass subSC=new subClass();
subSC.doPrint();
}
}
这段代码的执行顺序是怎么执行的,为什么不是先输出“In subClass.doPrint()”
而是先输出“in superClass:Y="30”呢
刚开始学java弄不明白
int Y;
superClass(){
Y=30;
System.out.println("in superClass:Y="+Y);
}
void doPrint()
{
System.out.println("In subClass.doPrint()");
}
}
class subClass extends superClass{
int Y;
subClass(){
super();
Y=50;
System.out.println("in subClass:Y="+Y);
}
void doPrint(){
super.doPrint();
System.out.println("in subClass.doPrint()");
System.out.println("super.Y="+super.Y+"sub.Y="+Y);
}
}
public class Q{
public static void main(String [] args){
subClass subSC=new subClass();
subSC.doPrint();
}
}
这段代码的执行顺序是怎么执行的,为什么不是先输出“In subClass.doPrint()”
而是先输出“in superClass:Y="30”呢
刚开始学java弄不明白
class subClass extends superClass{
int Y;
subClass(){
super();
Y=50;
System.out.println("in subClass:Y="+Y); }
中的super();去掉 结果也是一样的