Eyv*_*ind 5 java code-generation namespaces package
鉴于以下计划:
class A {
static int java = 42;
static int System = -1;
public static void main(String[] args) {
java.lang.System.out.println("Foo");
}
}
Run Code Online (Sandbox Code Playgroud)
编译这个给我一个错误,说"int不能被解除引用".原因很明显,但是应该如何处理这样的情况.它在代码生成场景中尤其重要,在代码生成场景中,人们无法知道哪些用户代码与生成的代码交织在一起.
在C#中我只会在"java.lang"之前使用"global ::"命名空间说明符,但是你用Java做什么?
Java 中没有针对此类命名冲突的通用解决方案。发现这一点可能会令人沮丧,但在实践中很少会出现实际问题。有一些标识符应避免用作成员变量名称,例如java和com,因为它们用于顶级域名。
还有一些其他潜在的冲突,我们通过遵守命名约定来避免这些冲突——类名以大写开头,变量名以小写开头。
| 归档时间: |
|
| 查看次数: |
905 次 |
| 最近记录: |