public class TestInterface {//测试接口类
public static void main(String[] args) {
Fish myfish = new Fish("鱼");//实例化鱼对象
Sheep mysheep = new Sheep("山羊");//实例化山羊对象
Frog myfrog = new Frog("青蛙");//实例化青蛙对象
System.out.println(myfish.life());//调用鱼的生活习性
System.out.println(mysheep.life());//调用山羊的生活习性
System.out.println(myfrog.life());//调用青蛙的生活习性
}
}
interface WaterAnimal{//水生动物
public abstract String life();//抽象方法
}
interface LandAnimal{//陆生动物
public abstract String life();//抽象方法
}
class Fish implements WaterAnimal{//鱼类继承水生动物的生活习性
private String name;//封装属性
public Fish(String name) {//构造方法初始化对象
this.name = name;
}
public String getName() {//获取动物名称
return this.name;
}
public String life() {//输出该动物的生活习性
return ("我是"+this.getName()+",只能在水中生活。");
}
}
class Sheep implements LandAnimal{//山羊继承了陆生动物的生活习性
private String name;//封装属性
public Sheep(String name) {//构造方法
this.name = name;
}
public String getName(){//获取动物名称
return this.name;
}
public String life() {//输出该动物的生活习性
return ("我是"+this.getName()+",只能在陆地上生活。");
}
}
class Frog implements WaterAnimal,LandAnimal{//青蛙类继承了水生动物的生活习性,又继承了陆生动物的生活习性。
private String name;//封装属性
public Frog(String name) {//构造方法
this.name = name;
}
public String getName() {//获取该动物的名称
return this.name;
}
public String life() {//输出该动物的生活习性
return ("我是"+name+",既可以在水中生活,又可以在陆地上生活。");
}
}
输出结果:
我是鱼,只能在水中生活。
我是山羊,只能在陆地上生活。
我是青蛙,既可以在水中生活,又可以在陆地上生活。