📄 interfacedemo.java
字号:
interface Animal{ //定义接口Animal
void run(); //接口中的抽象方法run,只有声明,没有定义
}
interface Plant{ //定义接口Plant
void eatable(); //接口中的抽象方法eatable,只有声明,没有定义
}
class Bird implements Animal{ //定义Bird类实现接口Animal,就需要在类中实现接口中的抽象方法
String name;
public void run(){ //实现了接口中的抽象方法
System.out.println(name+"是可以在空中飞行的");
}
void setName(String name){ //对成员变量name设置值
this.name=name;
}
}
class Fish implements Animal{ //定义Fish类实现接口Animal,就需要在类中实现接口中的抽象方法
String name;
public void run(){ //实现了接口中的抽象方法
System.out.println(name+"是可以在水中游的");
}
void setName(String name){ //对成员变量name设置值
this.name=name;
}
}
class Grass implements Plant{ //定义Grass类实现接口Plant,就需要在类中实现接口中的抽象方法
String name;
public void eatable(){ //实现了接口中的抽象方法
System.out.println(name+"是不能够吃的");
}
void setName(String name){ //对成员变量name设置值
this.name=name;
}
}
class Tomato implements Plant{ //定义Tomato类实现接口Plant,就需要在类中实现接口中的抽象方法
String name;
public void eatable(){ //实现了接口中的抽象方法
System.out.println(name+"是可以吃的");
}
void setName(String name){ //对成员变量name设置值
this.name=name;
}
}
public class interfaceDemo{ //定义主类,文件的名字应和用public修饰的类的名字相同
public static void useRun(Animal a){ //定义静态的方法,参数通过对子类对象的引用,根据对象 //的不同来调用对象所属类里面的方法
a.run();
}
public static void useEatable(Plant p){ //定义静态的方法,参数通过对子类对象的引用,根据对象
//的不同来调用对象所属类里面的方法
p.eatable();
}
public static void main(String arg[]){
Bird bird=new Bird();
bird.setName("鹰");
Fish fish=new Fish();
fish.setName("鲨鱼");
interfaceDemo.useRun(bird); //通过类interfaceDemo的静态方法来调用Bird类里面的方法run
interfaceDemo.useRun(fish); //通过类interfaceDemo的静态方法来调用Fish类里面的方法run
Grass grass=new Grass();
grass.setName("狗尾草");
Tomato tomato=new Tomato();
tomato.setName("大西红柿");
interfaceDemo.useEatable(grass); //通过类interfaceDemo的静态方法来调用Grass类里面的方法eatable
interfaceDemo.useEatable(tomato); //通过类interfaceDemo的静态方法来调用Grass类里面的方法eatable
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -