java 中接口是不能实例化的
比如List Set Map都是接口
使用时先实现
List
当然还有匿名内部类使用
比如Runnable
Runnable r = new Runnable() {
public void run() {
for (int i = 1; i <= 5; i++) {
System.out.print(i + " ");
}
}
};
有点类似于指针的感觉了。Factory接口可以用来代表实现它的类。比如:
public interface thing;
public class fruit implements thing;
thing something = new fruit();
这个something指的就是水果。
拿Factory来说,首先定义了一个Factory的接口,接口中定义了两个普通方法,只是定义,并没有实现,而第二段,返回了一个接口的数组,但是到底有没有被实例化,取决于getFactory()方法中的实现.接口的实现你可以看成父类引用指向子类对象.你可以百度一下java interface,有详细说明.
ProgressListener第三段被定义出来,第四段被赋值为空.没有被实例化.
你这不是实例化,只不过创建一个Factory 类型的数组而已
protected ProgressListener mProgressListener = null;这个不是实例化
static Factory[] sSubclassFactories = new Factory[] {
CheapAAC.getFactory(),
CheapAMR.getFactory(),
CheapMP3.getFactory(),
CheapWAV.getFactory(),
};
这个是实例化