把上面程序修改成完整、可运行的: public class AA { public int x = 1; public static void main(String[] args){ AA aa = new AA();
T tt = aa.new T();
} class T { public T() { System.out.println(AA.this.x); } } }
狂晕~ 我不是问像这样的调用AA.this.x行不行(可行的) 而是问假如不更改局部变量x,在内部类中有没有像AA.this.这样的调用外部成员变量的调用? final int x = 1;//必须定义为final才行 这样变成局部常量了,调用时直接System.out.println(x);就可以了
算了,我自己给搞糊涂了,忘记了这个最简单的编程常识 上面那个相当于: void x() { final int a=1; void y() { System.out.println(a); } } 其实本来就该这样 -_-!汗
这样试试行不行
public int x = 1; class t{
t(){
System.out.println(A.this.x);
}
}
}
public class A
{
A()
{
x = 1;
class t{
t(){
System.out.println(这里该怎么调用x?);
}
}
}
}
{
public static int x = 0;
A()
{
class t{
t(){
System.out.println(A.x);
}
}
}
}
{
A()
{
final int x = 1;//必须定义为final才行
class t{
t(){
System.out.println(这里该怎么调用x?);
}
}
}
写个程序尝试一下被,不做过谁也不知道结果的!
public class AA {
public int x = 1; public static void main(String[] args){
AA aa = new AA();
T tt = aa.new T();
} class T {
public T() {
System.out.println(AA.this.x);
}
}
}
我不是问像这样的调用AA.this.x行不行(可行的)
而是问假如不更改局部变量x,在内部类中有没有像AA.this.这样的调用外部成员变量的调用?
final int x = 1;//必须定义为final才行
这样变成局部常量了,调用时直接System.out.println(x);就可以了
上面那个相当于:
void x()
{
final int a=1;
void y()
{
System.out.println(a);
}
}
其实本来就该这样 -_-!汗
pdvv(我爱花猫) ( ) 信誉:
你这个不是局部变量~~~