在Java中,接口的实现可以通过以下几种方式:
常规实现方式
定义接口:使用`public interface`关键字定义接口。
实现接口:使用`implements`关键字在类声明中实现接口。
重写方法:在实现类中重写接口中的所有抽象方法。
public interface ITest {
void func1();
}
public class CTest implements ITest {
@Override
public void func1() {
System.out.println("This is func1");
}
}
public class Main {
public static void main(String[] args) {
CTest ct = new CTest();
ct.func1();
}
}
匿名内部类实现
使用匿名内部类实现接口,通常用于需要继承和实现关系时简化代码。
public interface ITest {
void func1();
}
public class Main {
public static void main(String[] args) {
ITest it1 = new ITest() {
@Override
public void func1() {
System.out.println("This is func1 by anonymous");
}
};
it1.func1();
}
}
Lambda表达式实现(Java 8及以上版本):
Lambda表达式提供了一种简洁的方式来表示接口的实现,特别是对于只有一个抽象方法的接口。
public interface ITest {
void func1();
}
public class Main {
public static void main(String[] args) {
ITest it1 = () -> System.out.println("This is func1 by lambda");
it1.func1();
}
}
接口在Java中用于定义类的契约,即类需要实现接口中声明的所有方法。如果一个类没有实现接口中的所有方法,那么这个类必须被声明为抽象类。实现接口的类必须遵循接口中方法的所有规则,包括访问修饰符、返回类型和参数列表等