在Java中,接口的实现可以通过以下几种方式:
常规实现方式
使用`implements`关键字,类声明实现一个或多个接口。
实现接口的类必须重写接口中的所有抽象方法。
接口中的方法默认为`public abstract`,实现类必须使用`public`修饰符重写这些方法。
public interface ITest {
public 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 {
public 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 MyService {
void sayMessage(String message);
default void doWork1() {
System.out.println("doWork");
}
static void printHello() {
System.out.println("Hello");
}
}
public class MyServiceImpl implements MyService {
@Override
public void sayMessage(String message) {
System.out.println(message);
}
}
public class Main {
public static void main(String[] args) {
MyService myService = new MyServiceImpl();
myService.sayMessage("hello,welcome");
MyService.printHello();
}
}
以上是Java中实现接口的基本方法。接口是Java面向对象编程的重要组成部分,它定义了一组行为,类可以实现这些行为以提供特定的功能