在java中,我们无法创建这样的接口实例:
iJack obj = new iJack(); //iJack is an interface
但是,我注意到我们可以这样做:
iJack obj;
两者有什么区别?
除此之外,我注意到你可以在一个界面中嵌套一个类,这有什么用?我想不出这个的实际目的。以下是我所谈论的一个例子:
public interface iJack {
public abstract class Jack_class {
}
}
答案 0 :(得分:0)
无法实例化接口。只有课程才能。但是,您可以(并且应该)使用接口作为变量的类型。
你的行......
iJack obj;
...声明了iJack类型的变量,但它没有初始化它。
顺便说一句,您应该始终在界面名称的开头使用大写字母。
答案 1 :(得分:0)
如果定义类型为接口的引用变量,则分配给它的任何对象都必须是实现接口的类的实例。
你问这两个有什么区别。第一个是错的。您不能实例化接口,而是实现这些接口的类。所以你不能谈论差异
参考:Using an Interface as a Type
在接口中使用嵌套类与在另一个类中使用嵌套类具有相同的目的。这是将类定义为接口。