Java创建一个接口A,该接口中至少有一个方法a,至少有两个实现该接口的类。再定义一个类(有一个方法,该方法的参数是接口类型),使用接口回调技术输出相关信息
时间: 2024-05-03 18:21:13 浏览: 25
接口A的代码如下:
```java
public interface A {
void a();
}
```
有两个实现该接口的类,分别为B和C:
```java
public class B implements A {
@Override
public void a() {
System.out.println("This is implementation B");
}
}
public class C implements A {
@Override
public void a() {
System.out.println("This is implementation C");
}
}
```
定义一个类D,有一个方法,该方法的参数是接口类型:
```java
public class D {
public void doSomething(A a) {
System.out.println("Do something in class D");
a.a();
}
}
```
使用接口回调技术,输出相关信息:
```java
public class Main {
public static void main(String[] args) {
B b = new B();
C c = new C();
D d = new D();
d.doSomething(b); // 输出:This is implementation B
d.doSomething(c); // 输出:This is implementation C
}
}
```
在类D中,我们定义了一个方法doSomething,该方法的参数是接口类型A。在该方法中,我们先输出一条信息,然后调用接口A的方法a。
在main方法中,我们创建了实现接口A的两个类B和C,以及类D的一个对象d。然后我们分别调用d的doSomething方法,将B和C对象作为参数传入。由于B和C都实现了接口A,所以它们的a方法会被调用,并输出相应的信息。这就是接口回调技术的应用。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)