我正在将apitest移植到jogl,其中一个目录名为Null,因此我只是尝试使用null
作为包名称,Netbeans抱怨它无效。
我知道我正在分裂头发,但我只是好奇..我在这里或谷歌上找不到任何东西..
是否与反射,名称检索,类似或其他内容有关? 或者它是否像设计一样,与运算符重载相同?
编辑:我知道这是一个保留字,但在代码中..
答案 0 :(得分:3)
无法将language specification提及的标识符命名为null
:
标识符不能与关键字(§3.9),布尔文字(§3.10.3),或空文字(§3.10.7)具有相同的拼写(Unicode字符序列),或者发生编译时错误。
答案 1 :(得分:3)
在这种情况下,null
是java语言中的文字(null literal),不能用作标识符......
根据Oracle:
包名称全部小写,以避免与 类或接口的名称。
...
在某些情况下,互联网域名可能不是有效的套餐 名称。如果域名包含连字符或其他,则会发生这种情况 特殊字符,如果包名以数字或其他开头 用作Java名称开头的非法字符或 如果包名称包含保留的Java关键字,例如“int”。 在这种情况下,建议的约定是添加下划线。对于 例如:
答案 2 :(得分:0)
我认为只有设计就是这样。
根据Java语言规范,' null'是一个关键字,您不能使用任何关键字来识别除其主要目的之外的任何其他内容。
虽然你可以使用Null和大写的N' N'对于与预定义关键字不匹配的所有其他关键字,类似。
Java不鼓励使用这种糟糕的命名做法。
答案 3 :(得分:0)
null是赋予标识符的值。包是一个标识符。它不可能是一个价值。