package a; public interface CanSwim { void swim();
}
package a; public interface CanFly {
void fly(); }
package a; public abstract class ActionCharacter {
public abstract void fight(String emp); public void speak(String s)
{
System.out.println(s);
} }
package a; public class Hero extends ActionCharacter implements CanSwim, CanFly {
private String name; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Hero(String name) {
super();
this.name = name;
} @Override
public void fly() {
System.out.println(name+" 飞"); } @Override
public void swim() {
System.out.println(name+" 游泳"); } public void fight(String emp) { System.out.println(name+" 武器"+emp+" 戦斗");
} }
package a; public class Adventure { public static void main(String[] args) {
Hero hb=new Hero("超人");
hb.swim();
hb.fly();
hb.fight("拳头");
CanFly cf=hb;
cf.fly();
CanSwim cs=hb;
cs.swim();
ActionCharacter ac=hb;
ac.speak("为了正义");
ac.fight("蛮力"); } }