📅  最后修改于: 2023-12-03 15:16:35.627000             🧑  作者: Mango
Java接口是一种特殊的抽象类,它只包含抽象方法和常量。接口没有构造函数,所有的方法都是抽象方法,没有方法实现。如需在接口中定义属性,则属性必须是常量,即使用关键字final、static修饰的成员变量。接口是Java语言多态机制的一种体现,将接口理解为沟通两部分的桥梁更为贴切。
定义接口使用关键字interface,语法如下:
public interface <interface_name> {
// 常量定义
// 方法定义
}
一个类可以实现多个接口,这是Java接口的一大特点。这样做的好处是,可以将一个类的功能进行拆分,将不同功能分别放到不同的接口中,提高代码的复用性。
通过接口定义类与类之间的协议,类只需要知道接口的方法名称、参数和返回值类型,无需关心方法的具体实现。这样做可以降低类之间的耦合度,提高代码的可维护性和可扩展性。
接口可以实现多态性,同样的方法在不同的实现类中有不同的实现,这样就可以根据实现类的不同调用不同的实现方法,实现多态。
下面是一个接口和一个实现类的示例代码:
public interface Animal {
public abstract void eat();
}
public class Dog implements Animal {
@Override
public void eat() {
System.out.println("狗吃肉");
}
}
public class Test {
public static void main(String[] args) {
Animal animal = new Dog();
animal.eat();
}
}
上面的代码定义了一个Animal接口和一个实现类Dog。在Test类中,创建了一个Animal对象的引用,并将它指向了一个Dog对象。通过调用eat方法,实现了多态性。