在Java中,如果我有一个接口:
public interface MyInterface{
}
Run Code Online (Sandbox Code Playgroud)
然后MyInterface实现是:
class MyClass implements MyInterface {
public MyClass(int a) {
}
}
Run Code Online (Sandbox Code Playgroud)
所以我的意思是,如果用户想要MyInterface使用构造函数声明一个实例:
MyInterface mine = new MyInterface(2);
Run Code Online (Sandbox Code Playgroud)
那不可能吧?
aio*_*obe 18
Run Code Online (Sandbox Code Playgroud)MyInterface mine = new MyInterface(2);那不可能吧?
那就对了.你永远不能做类似的事情
MyInterface mine = new MyInterface(2);
Run Code Online (Sandbox Code Playgroud)
之后new你必须选择一个类实现了接口(*) ,如MyClass:
MyInterface mine = new MyClass(2);
Run Code Online (Sandbox Code Playgroud)
为什么?
您可以将接口视为类的属性.类比是形容词,例如"红色".创造一个红色的球(new RedBall())或红色的汽车new RedCar()(new Red())是完全合理的,但只是创造"红色"()没有意义("红色是什么?").
(*)您可以通过执行创建实时接口的匿名类,new MyInterface() { ... }但从技术上讲,您仍在实例化类.
| 归档时间: |
|
| 查看次数: |
16653 次 |
| 最近记录: |