gpt4 book ai didi

java - 引用匿名类?

转载 作者:搜寻专家 更新时间:2023-10-31 20:18:11 24 4
gpt4 key购买 nike

我正在为 RCP 应用程序开发插件。plugin.xml内,我需要在给定的扩展点注册某些类。其中一个类是这样定义的匿名 (?) 类:

package de.me.mypackage;

import org.something.AnotherClass;

public class ClassOne {
...
public static AnotherClass<ClassOne> getThat() {
return new AnotherClass<ClassOne>() {
...
};
}

有没有办法引用AnotherClass<ClassOne>在 plugin.xml 中?

我已经尝试过类似 de.me.mypackage.ClassOne$AnotherClass 的东西但这是行不通的。我是否必须在其自己的文件中声明该类才能引用它?

最佳答案

据我所知,它会有一个数字索引:

class Bla {
public static void main(String[] args) {
(new Runnable() {
public void run() {
System.out.println(getClass().getName()); // prints Bla$1
}
}).run();
}
}

编译后得到:

$ ls *.class
Bla$1.class Bla.class

也就是说,如果源文件被修改,您不能依赖编号。

您能否改为定义一个static 内部类,例如:

public class ClassOne {

public static class MyClass extends AnotherClass<ClassOne> {
public MyClass(/* arguments you would pass in getThat()? */) {
...
}
...
}

public static AnotherClass<ClassOne> getThat() {
return new MyClass(...);
}
}

关于java - 引用匿名类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34513651/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com