public abstract class Animal {
protected int legs;
protected Animal(int legs){
this.legs = legs;
}public abstract void eat();
public abstract void breath();}
interface Pet{
public void play();
}
public class Dog extends Animal implements Pet{
String name;
public Dog(String name){ //为什么会错的?在子类里的构造器不能多态吗?
this.name = name;
}
public Dog(int legs){
super(legs);
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public void eat(){
System.out.println("狗喜欢啃骨头");
}
public void breath(){
System.out.println("狗使用肺呼吸");
}
public void play(){
System.out.println("狗正在和一只可怜的老鼠逗着玩呢");
}
}
protected int legs;
protected Animal(int legs){
this.legs = legs;
}public abstract void eat();
public abstract void breath();}
interface Pet{
public void play();
}
public class Dog extends Animal implements Pet{
String name;
public Dog(String name){ //为什么会错的?在子类里的构造器不能多态吗?
this.name = name;
}
public Dog(int legs){
super(legs);
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public void eat(){
System.out.println("狗喜欢啃骨头");
}
public void breath(){
System.out.println("狗使用肺呼吸");
}
public void play(){
System.out.println("狗正在和一只可怜的老鼠逗着玩呢");
}
}
this.name = name;
}
该构造器里面会隐含的调用super(int dd)方法,也就是父类的构造方法! 去掉父类的构造方法即可!
public Dog(String name){ //为什么会错的?在子类里的构造器不能多态吗?
super(int var) ;
this.name = name;
}
这样也行!
public static void main(String args[]){
Dog d=new Dog("大黄",20);
System.out.println("姓名: "+d.getName()+"\n腿长:" +d.legs);
d.eat();
d.breath();
d.play();
}}
abstract class Animal {
protected int legs;
protected Animal(int legs){
this.legs = legs;
} public abstract void eat();
public abstract void breath(); }
interface Pet{
public void play();
}
class Dog extends Animal implements Pet{
String name;
/*public Dog(){ //为什么会错的?在子类里的构造器不能多态吗?
this.name = name;
}*/
public Dog(String name,int legs){
super(legs);
this.name=name;
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public void eat(){
System.out.println("狗喜欢啃骨头");
}
public void breath(){
System.out.println("狗使用肺呼吸");
}
public void play(){
System.out.println("狗正在和一只可怜的老鼠逗着玩呢");
}
}