Java中名称的作用域
一位朋友告诉我,这是学习Java作用域的一个好例子,但我不理解 什么是Java中名称的作用域,java,Java,一位朋友告诉我,这是学习Java作用域的一个好例子,但我不理解 什么是a?我完全迷路了 public class scopesexample { public static a a = new a<a>(a(new a())); public static class a<a> { a a; public a() { this.a = a(a(null)); }
a
?我完全迷路了
public class scopesexample {
public static a a = new a<a>(a(new a()));
public static class a<a> {
a a;
public a() {
this.a = a(a(null));
}
public a(a a) {
this.a = a;
}
public a a(a a) {
return a;
}
public String toString() {
return "a";
}
}
public static a a(a a) {
return new a<a>(a);
}
public static void main(String[] args) {
System.out.println( a );
System.out.println( a( a ) );
System.out.println( a.a );
a<a> a = new a<a>(a(new a()));
System.out.println(a.a( a ));
System.out.println( a );
System.out.println( a );
System.out.println(a.class);
System.out.println(a.getClass());
System.out.println(a.a);
System.out.println(a( a ));
System.out.println(a( a ).a);
}
}
公共类作用域示例{
公共静态a=新a(a(新a()));
公共静态a类{
a a;
公共a(){
这个.a=a(a(null));
}
公共a(a){
这个a=a;
}
公共a(a){
返回a;
}
公共字符串toString(){
返回“a”;
}
}
公共静态a(a){
返回新的a(a);
}
公共静态void main(字符串[]args){
系统输出打印项次(a);
系统输出打印ln(a(a));
系统输出打印LN(a.a);
a=新的a(a(新的a());
系统输出打印LN(a.a(a));
系统输出打印项次(a);
系统输出打印项次(a);
系统输出打印LN(a类);
System.out.println(a.getClass());
系统输出打印LN(a.a);
系统输出打印ln(a(a));
系统输出打印ln(a(a.a);
}
}
我的建议是不要理睬你的朋友
他或她要么让你发火,要么他或她不知道学生们是如何学习示波器的
首先,他使用a
作为类、方法和变量名,违反了代码风格准则和常识
第二个问题是,他将理解名称空间的问题添加到了理解范围的问题上,这是不必要的,也是令人困惑的。哇,这么多a。无论如何,在这种情况下,第一个是类类型,第二个是引用。尝试遵循命名约定,这将消除很多混乱。我是一名专业的Java开发人员,我迷路了。不要试图理解这样的代码。这是一个很好的例子,可以让人们混淆范围。作为一种学习工具,它应该被认为是有害的。这是非常“聪明”的代码。这不是恭维话,这是一个被破坏的代码吗?或者故意修改为不可读。不,这不是评论。这是对这个问题的回答。事实上,这是这个问题唯一明智的答案。我的朋友总是取笑我:/谢谢你的帮助time@AliceBeatsy-送他去苏,我们会取笑他:-)