关于多态和接口回调
其实接口的使用就是为了实现多态
这里主要用的例子是关于接口的回调。
接口和抽象类是不能被new的!
接口和抽象类是不能被new的!
接口和抽象类是不能被new的!
创建一个接口People,这个接口有两个功能
- walk功能
- say功能
接口People
public interface People {
public void say();
public void walk();
}
分别定义APeople和BPeople作为接口的实现类
实现类APeople
public class APeople implements People {
@Override
public void say() {
System.out.println("A is saying");
}
@Override
public void walk() {
System.out.println("A is walking");
}
}
实现类BPeople
public class BPeople implements People{
@Override
public void say() {
System.out.println("B is saying");
}
@Override
public void walk() {
System.out.println("B is walking");
}
}
然后就是测试类demo
public class demo {
public static void main(String[] args) {
// Factory f=Factory.getFactory();
People a=new APeople();
a.say();
a.walk();
System.out.println();
People b=new BPeople();
b.say();
b.walk();
}
}
来看看测试结果
可以清楚的看到
a接口调用的是APeople中的功能
b接口调用的是BPeople中的功能
接口的回调的类似于隐藏信息功能,也类似于子类“向上转化”为父类,用户只需要知道接口的功能而不用知道其具体实现方法。