创建静态抽象类的实例

Vys*_*rem 2 java android abstract-class

我知道抽象类无法实例化.但我对下面的代码有疑问.此代码是android位图趣味演示的一部分(http://commondatastorage.googleapis.com/androiddevelopers/shareables/training/BitmapFun.zip).

// ImageWorkerAdapter class is nested in another abstract class ImageWorker
public static abstract class ImageWorkerAdapter
{
public abstract Object getItem(int num);
public abstract int getSize();
}

//this snippet is seen in Images.java
public final static ImageWorkerAdapter imageWorkerUrlsAdapter = new ImageWorkerAdapter() { 
@Override
public Object getItem(int num) {
return Images.imageUrls[num];
}
Run Code Online (Sandbox Code Playgroud)

我无法理解如何创建抽象类的实例.请帮我理解这段代码.

Mik*_*378 6

此代码表示扩展ImageWorkerAdapter抽象类的匿名类的初始化:

new ImageWorkerAdapter() { 
    @Override
    public Object getItem(int num) {
    return Images.imageUrls[num];
}
Run Code Online (Sandbox Code Playgroud)

实际上,匿名实现是在花括号之间定义的.

作为一个匿名类,依赖于抽象类或接口是完全有效的.