这个问题是关于java中常见的继承问题,动物作为父类,狼作为子类,灰太狼作为狼的对象
问题代码如下:
class Animal {
private String desc ;
public Animal(){
this.desc = getDesc() ;
}
public String getDesc(){
return "Animal" ;
}
public String toString(){
return desc ;
}
}
public class liu extends Animal {
private String name ;
private double weight ;
public liu(String name , double weight){
this.name = name ;
this.weight = weight ;
System.out.println("1"+name);//测试语句1
}
public String getDesc(){
System.out.println("2"+name);//测试语句2
return "Wolf[name=" + name + ",weight=" + weight + "]" ;
}
public static void main(String[] args){
liu k=new liu("灰太狼" , 3);
System.out.println(k);
}
}
让小弟困惑的是程序执行的时候,为什么要先执行语句2,而不是1?麻烦各位了,如果能顺便分享一点经验给小弟关于学习java的类的,小弟感激不尽。因为刚来,没有积分,还望各位见谅。
------解决方案--------------------
学的OOP那块吧,比较抽象需要多做练习 可以加我QQ1543150073有时可以在线帮助你
------解决方案--------------------