Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建静态抽象类的实例_Java_Android_Abstract Class - Fatal编程技术网

Java 创建静态抽象类的实例

Java 创建静态抽象类的实例,java,android,abstract-class,Java,Android,Abstract Class,我知道抽象类不能被实例化。但我对下面的代码有疑问。这段代码是android位图趣味演示()的一部分 我无法理解如何创建抽象类的实例。请帮助我理解此代码。此代码表示一个匿名类的初始化,该类扩展了ImageWorkerAdapter抽象类: new ImageWorkerAdapter() { @Override public Object getItem(int num) { return Images.imageUrls[num]; } 实际上,匿名实现是在大括号之间

我知道抽象类不能被实例化。但我对下面的代码有疑问。这段代码是android位图趣味演示()的一部分


我无法理解如何创建抽象类的实例。请帮助我理解此代码。

此代码表示一个匿名类的初始化,该类扩展了
ImageWorkerAdapter
抽象类:

new ImageWorkerAdapter() { 
    @Override
    public Object getItem(int num) {
    return Images.imageUrls[num];
}
实际上,匿名实现是在大括号之间定义的


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

您显示的代码没有显示正在实例化的抽象类


它显示一个正在实例化的对象。在本例中,匿名类扩展了一个抽象类。您还可以在匿名类中实现接口,
Runnable
是一个非常常见的示例。

您的代码没有实例化抽象类,而是定义了新的匿名抽象类,其中包括扩展和实现(重写)其他抽象类。

@Nambari:不,它们不能。请参阅@Nambari:我有一个确切的引用:我链接到的javadoc,上面写着:“Throws:instanceionException-如果这个类代表一个抽象类”@JBNizet:谢谢更正。@JBNizet:这段代码在eclipse中非常有效。@VysakhPrem:不,不,我不是说它不起作用。它应该会起作用。但我脑子里想的原因是不同的。我没有澄清。谢谢你的解释。乍一看,我很困惑。谢谢你的解释。谢谢你的解释。
new ImageWorkerAdapter() { 
    @Override
    public Object getItem(int num) {
    return Images.imageUrls[num];
}