- 基本格式
[修饰符] interface 接口名 [extends 父接口名列表]{
[public] [static] [final] 常量;
[public] [abstract] 方法;
}
PS:其中“修饰符”为可选,表示为接口的访问权限,可选为public,若省略,则使用默认的访问权限。关于接口名,这是一个必须选的参数,用于指定接口名称,其名称必须符合java标识符的命名规则,首个字母大写。extends 父接口名列表表示为指定定义的接口继承了哪个父接口。一个接口里的方法是没有方法体的,即只有定义而没有实现。
使用- 基本格式
[修饰符] class <类名> [extends 父类名] implements 接口列表 {}
PS:一个接口在被定义后,就可以在类中实现该接口,其需要使用implements关键字,需要注意的是,当一个类实现了接口时,那么方法名字,返回值类型,参数个数和类型必须与接口中的一致,并且必须重写接口里的所有方法。修饰符可选public,abstract,final.当接口列表存在使用多个接口时,接口名使用逗号分隔。
示例代码interface Animal {
public String eat();//定义抽象方法eat
public String drink();//定义抽象方法drink
public String move();//定义抽象方法move
}
class Dog implements Animal{//在Dog类中进行接口重写
public String eat(){
return "狗吃骨头";
}
public String drink(){
return "Dog用舌头喝水";
}
public String move(){
return "Dog用四只脚move";
}
}
class Fish implements Animal{//在Fish类中进行接口重写
public String eat(){
return "fish吃草";
}
public String drink(){
return "fish用嘴巴喝水";
}
public String move(){
return "fish用鳍和尾游泳";
}
}
class NewAnimal {//进行重写的实现
public void Print(Animal animal){
String Eat = animal.eat();
System.out.println(Eat);
String Drink = animal.drink();
System.out.println(Drink);
String Move = animal.move();
System.out.println(Move);
}
}
public class Test {//测试类
public static void main(String[] args){
NewAnimal animal = new NewAnimal();
Animal dog1 = new Dog();
animal.Print(dog1);
Animal fish1 = new Fish();
animal.Print(fish1);
}
}
- 输出结果:
ish1 = new Fish();
animal.Print(fish1);
}
}
* 输出结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PhZtnxhp-1651728722046)([(9条消息)] 接口1结果示例图_Re:Life的博客-CSDN博客](https://blog.csdn.net/m0_67219881/article/details/124586968?csdn_share_tail={"type"%3A"blog"%2C"rType"%3A"article"%2C"rId"%3A"124586968"%2C"source"%3A"m0_67219881"}&ctrtid=wLy8e))



