Java 在类名中,美元后跟索引意味着什么?
我正在分析一个java应用程序,分配的对象中最大的一个是nameJava 在类名中,美元后跟索引意味着什么?,java,naming-conventions,Java,Naming Conventions,我正在分析一个java应用程序,分配的对象中最大的一个是name com.x.y.ClassName$5 netbeans探查器和yourkit都使用相同的命名约定。 我不知道如何用谷歌搜索命名问题 课程名称后面的$5是什么 编辑: 5美元似乎是第五个匿名类。我在生成的类上使用了查找第五个匿名类。com.x.y.ClassName$5中的引用表示“com.x.y.ClassName中的第五个匿名内部类”一些帮助您的类。 再看看答案 您将获得com.x.y.ClassName$5。当您的类包含一个
com.x.y.ClassName$5
netbeans探查器和yourkit都使用相同的命名约定。
我不知道如何用谷歌搜索命名问题
课程名称后面的$5
是什么
编辑:
5美元似乎是第五个匿名类。我在生成的类上使用了查找第五个匿名类。com.x.y.ClassName$5中的引用表示“com.x.y.ClassName中的第五个匿名内部类”一些帮助您的类。
再看看答案
您将获得com.x.y.ClassName$5。当您的类包含一个异常的内部类时
sample8.class
sample8$1.class
sample8$2.class
sample8$klass.class
sample8$klass$1.class
范例
public class sample8 {
private class klass{
void vodka() {
sample8 _s = new sample8() {
};
}
}
sample8() {
klass _k = new klass();
_k.vodka();
}
public static void main(String args[])
{
}
sample8 _s = new sample8() {
};
sample8 _s1 = new sample8() {
};
}
哇,快回答。有没有办法知道哪一个内部类是第五类?我不知道有什么办法。所以我对自己的答案不满意。说“第五”而不说具体的顺序就像说“一个随机数”。然而,如果你有一个很好的反编译器,比如你可以向你展示任何内部类的代码,我认为这是它们声明的顺序。。。无论如何,您可以覆盖toString()以在调试器中提供一些有意义的表示。@fortran toString方法将如何更改类名?@bbaja42它根本不会更改类名,但在大多数IDE中,如果将鼠标悬停在活动对象上,它将显示其toString()表示(默认情况下是类名和一些散列)。这将导致ClassName$klass,而不是ClassName$Thank Mark you r right。如果存在异常内部类,它将创建一个。