我有这段代码:
public class Test {
public static void main(String[] args) {
Void();
}
private static void Void() {
System.out.print("Hello");
}
}
由于java.lang.Void
是Java中的一个类,为什么它可以作为方法名?
答案 0 :(得分:10)
Void
不是reserved keyword(void
,但Java区分大小写,因此void
不等于Void
)。同样,String
,Integer
,Boolean
等也不会保留。
您可以使用Void
命名您想要的名称:类,方法,字段。但能够做某事并不能自动意味着你应该这样做。通过使用已用于表示其他内容的名称命名方法(或其他内容)来创建混淆是不明智的。
答案 1 :(得分:0)
Java是一种完全面向对象的语言。这意味着所有东西,甚至原始类型(如int或double)在JDK中都有一个类对象。一些示例包括Integer
与int
,Boolean
与bool
等等。并且,由于Java中的每个对象都继承自类Object
,因此这些对象使您能够使用装箱和拆箱(显式地将类实例作为Object实例转换为每个类型),包括基本类型。
Void
只是Java中void
关键字的占位符。它是一个不可实例化的对象,没有任何方法或属性。由于Void
的全名是java.lang.Void
,因此您可以在自己的命名空间中创建一个类对象甚至是同名的方法,只要您没有明确说明将java.lang.Void
导入到您的类文件中。