子类可以继承父类的构造代码吗?这是为什么
class Animal
{{System.out.println("I am a mumber of the world");}
String name;
String habitat;
int number;
Animal(String name){this.name = name;}
Animal(String name,String habitat){
this.name = name;
this.habitat = habitat;
}
Animal(String name,String habitat,int number){
this.name = name;
this.habitat = habitat;
this.number = number;
}
}
class Cat extends Animal
{
void jiao(){System.out.println("miaomiao");}
}
class Enter
{public static void main(String[] args)
{
Cat mao=new Cat();
mao("mao");}
}
下面是报错
E:\myjava\day7>javac Animal.java
Animal.java:21: 错误: 对于Animal(), 找不到合适的构造器
class Cat extends Animal
^
构造器 Animal.Animal(String,String,int)不适用
(实际参数列表和形式参数列表长度不同)
构造器 Animal.Animal(String,String)不适用
(实际参数列表和形式参数列表长度不同)
构造器 Animal.Animal(String)不适用
(实际参数列表和形式参数列表长度不同)
Animal.java:29: 错误: 无法将类 Cat中的构造器 Cat应用到给定类型;
Cat mao=new Cat("mao");}
^
需要: 没有参数
找到: String
原因: 实际参数列表和形式参数列表长度不同
2 个错误
E:\myjava\day7>
报错
[解决办法]
你自己试验一下。实在不明白可以看看java的相关资料,很简单的问题。不要忙了半天却没有找到真正的原因,或者得出错误的结论,那就糟糕了。
上面的编译环境是:
ADT 21.1
VisualStudio 2005
JRE 1.6