【发布时间】:2014-02-19 15:09:05
【问题描述】:
在 java 中,我们无法创建这样的接口实例:
iJack obj = new iJack(); //iJack is an interface
但是,我注意到我们可以这样做:
iJack obj;
两者有什么区别?
除此之外,我注意到您可以在接口中嵌套一个类,这有什么用?我想不出有什么实际用途。这是我所说的一个例子:
public interface iJack {
public abstract class Jack_class {
}
}
【问题讨论】:
-
请对类/接口使用正确的 Java 命名约定(以大写字母开头,无下划线,仅使用 CamelCase)。
-
为什么这篇文章被标记到Android??
-
您有 C/C++ 背景吗? Java只有对对象的引用,它从不在堆栈上声明和对象。
iJack obj;声明了一个未初始化的引用obj,它不在堆栈上实例化iJack的实例。 -
在接口中嵌套一个类只是词法范围的事情。如果类与接口中的方法有密切关联,这将很有用。与
public static嵌套在另一个类中的类基本相同。