在Java中,可以使用interface
关键字来定义接口。接口是一种抽象类型,它定义了一组抽象方法,但不能包含实例变量和常量。接口可以被类实现,一个类可以实现多个接口。
以下是定义接口的语法:
public interface 接口名 {
// 定义抽象方法
public void 方法名(参数列表);
// 可以定义常量
public static final 数据类型 常量名 = 值;
}
接口中的方法默认都是public abstract
修饰的抽象方法,可以省略这些修饰符。常量必须声明为public static final
,可以省略这些修饰符。
以下是一个例子,定义了一个Animal
接口:
public interface Animal {
public void eat();
public void sleep();
public static final int NUM_LEGS = 4;
}
接口定义后,可以通过类来实现接口,实现接口使用implements
关键字。实现接口时,必须实现接口中的所有抽象方法。
以下是实现接口的语法:
public class 类名 implements 接口名 {
// 实现接口中的方法
public void 方法名(参数列表) {
// 实现方法的具体逻辑
}
}
以下是一个例子,定义了一个Dog
类实现Animal
接口:
public class Dog implements Animal {
// 实现eat方法
public void eat() {
System.out.println("The dog is eating.");
}
// 实现sleep方法
public void sleep() {
System.out.println("The dog is sleeping.");
}
}
使用接口时,可以通过接口类型引用实现了该接口的对象,调用接口中定义的方法。
以下是一个例子,使用Animal
接口引用Dog
对象,调用eat
和sleep
方法:
public class Main {
public static void main(String[] args) {
Animal animal = new Dog();
animal.eat();
animal.sleep();
System.out.println("Number of legs: " + Animal.NUM_LEGS);
}
}
输出结果:
The dog is eating.
The dog is sleeping.
Number of legs: 4