摘要:本文章将介绍Java中实现接口的三种方式,分别是子类实现类、匿名类和lambda表达式。
1、通过子类的方式实现接口
// 接口类:Aoo.java
public interface Aoo {
// 抽象方法,接口中的方法使用public abstract修饰,也可以省略不写
void test(); // 对方法声明,而不是具体的实现
}
// 实现类:AooChild.java
public class AooChild implements Aoo {
@Override
public void test() {
System.out.println("类对接口的实现");
}
}
// main类:AooTest.java
Public class AooTest(){
Public static void main(){
// 第一方式: 通过子类实现接口 重写接口里面的方法
Aoo a = new AooChild();
// 向上转型 重写 --- 多态
a.test();
}
}
2、使用匿名类的方式实现接口
// 接口类:Aoo.java
public interface Aoo {
// 抽象方法,接口中的方法使用public abstract修饰,也可以省略不写
void test(); // 对方法声明,而不是具体的实现
}
// main类:AooTest.java
Public class AooTest(){
Public static void main(){
// 匿名内部类
Aoo a1 = new Aoo() {
@Override
public void test() {
System.out.println("匿名内部类实现");
}
};
a1.test();
}
}
3、使用lambda表达式的方式实现接口
函数式接口:在jdk1.8版本中,在一个接口里面只有一个抽象方法,加@FunctionalInterface注解
// 接口类:Aoo.java
@FunctionalInterface
public interface Aoo {
// jdk1.8 lambda表达式 函数式接口
void test();
}
// main类:AooTest.java
Public class AooTest(){
Public static void main(){
// jdk1.8以后 lambda表达式 函数式接口的实现
// idea 收费 6000
Aoo a2 = () -> {
System.out.println("lambda表达式实现");
};
a2.test();
}
}