class Pets
{
String name;
int age;
boolean isHungry=false;
Pets(String name,int age)
{
this.name=name;
this.age=age;
}
//Pets(){} 子类里加了个构造方法,才通过了编译
void eat()
{
System.out.println("I am hungry !");
isHungry=true;
}
void feed()
{
isHungry=false;
}
}
class Dogs extends Pets
{
Dogs() //如果同时没有这一句和上面注释掉的一句的话
{ //就老是提示找不到符号
super("jack",2);
}
int power=20;
void walk()
{
power--;
}
void feed()
{
power=power+10;
}
}
我想知道为什么会找不到符号??为什么我在父类中定义了一个无参数无操作的构造方法后,或者我在子类里面调用了父类的有参数的构造方法后就可以通过编译??
还有,当我在子类中直接调用父类的构造方法时,直接用super("jack",2); 这样又会出错,当我把这一句放入子类的构造方法里之后又没有错误了,这是为什么??
我想知道super到底怎么用,我知道他可以用来调用父类的成员,要怎么调用呢??
为什么我已开始的super调用出错??