FlyBehavior類有壹個靜態屬性 fly(boolean類型),
只有壹個方法void doFly(boolean fly)
public FlyBehavior(boolean fly){this.fly=doFly(fly)};
name為史努比 上面說定義成int型,費解了
以上條件判斷,他是不成立的!~
①題
public abstract class Animal {
int name;
FlyBehavior flyBehavior;
public Animal(int name) {
this.name = name;
}
public Animal(int name, FlyBehavior flyBehavior) {
this.name = name;
this.flyBehavior = flyBehavior;
}
public void doSlogon() {
System.out.println("每個動物都有壹個口頭禪!");
}
public abstract void makeSound();
}
②
public interface IFly {
void doFly(boolean fly);
}
③
public class FlyBehavior implements IFly {
static boolean fly;
public FlyBehavior(boolean fly) {
doFly(fly);
}
public void doFly(boolean fly) {
if(fly)
System.out.println("我會飛");
else
System.out.println("我不會飛");
}
}
④
public class Dog extends Animal {
public Dog(int name) {
super(name);
}
public Dog(int name, FlyBehavior flyBehavior) {
super(name, flyBehavior);
}
@Override
public void doSlogon() {
// TODO Auto-generated method stub
System.out.println("小狗1234 1234");
}
@Override
public void makeSound() {
System.out.println("我汪汪");
}
}
⑤
public class TestAnimal {
public static void main(String[] args) {
Dog snoopy = new Dog(1, new FlyBehavior(false));
System.out.println(snoopy.name);
System.out.println(snoopy.flyBehavior);
snoopy.doSlogon();
snoopy.makeSound();
}
}