0%

java | 不同类实例调度接口函数

这篇将介绍一下 java 接口在项目中的使用方式。

在看具体的博文之前,你可以看一下下面的博文。

考虑一下这样的场景,有一个方法是传递某些数值,但是有很多类都需要实现这个方法。即

1
2
3
4
5
6
7
8
9
10
11
public class A{
public void send(){}
}

public class B{
public void send(){}
}

public class C{
public void send(){}
}

然后正好有一个方法,需要中心化调度,可能会出现下面的场景:

1
2
3
4
5
6
7
8
9
...
public void send(Object o){
if(o.getClass() == A){
((A)o).send();
}else if(o.getClass() == B){
((B)o).send();
}
...
}

这样的话就变得代码难度而且臃肿,这个时候可以抽象出一个接口类。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public interface Sender(){
public void send();
}

public class A implements Sender{
@Override
public void send(){

}
}

public class B implements Sender{
@Override
public void send(){

}
}

public class C implements Sender{
@Override
public void send(){

}
}

然后,我们可以这样实现。

1
2
3
4
5
...
public void send(Sender s){
s.send();
...
}
请我喝杯咖啡吧~