class a{
int x=1,y=2;
void f(){
final int x=5;
int z=3;
b c=new b();
c.f1();
class b{
public void f1(){
System.out.print(x);
System.out.print(a.this.x);
System.out.print(y);}}
}
}class b{
public static void main(String a[]){
a c=new a();
c.f();
}
}红色那行为什么他说找不到f1()啊```
int x=1,y=2;
void f(){
final int x=5;
int z=3;
b c=new b();
c.f1();
class b{
public void f1(){
System.out.print(x);
System.out.print(a.this.x);
System.out.print(y);}}
}
}class b{
public static void main(String a[]){
a c=new a();
c.f();
}
}红色那行为什么他说找不到f1()啊```
即使把main的那个类改成c也不行啊
即使把main的那个类改成c也不行啊
调用此行代码时,方法f()内部的class b尚未被定义,因此,此时new的b对象为外部的class b对象
class a{
int x=1,y=2;
void f(){
final int x=5;
int z=3;
b c=new b();
class b{
public void f1(){
System.out.print(x);
System.out.print(a.this.x);
System.out.print(y);
}
}
c.f1();
}}
class b{
public static void main(String a[]){
a c=new a();
c.f();
}
}
上面这样是通过不了编译的
但为什么把 c.f1(); 这句给去掉就可以通过编译了呢
int x=1,y=2;
void f(){
final int x=5;
int z=3;
b c=new b();
class b{
public void f1(){
System.out.print(x);
System.out.print(a.this.x);
System.out.print(y);
}
}
c.f1();
} }
class c{
public static void main(String a[]){
a c=new a();
c.f();
}
} 上面这样是通过不了编译的
但为什么把 c.f1(); 这句给去掉就可以通过编译了呢
"那个b类对象如果在f()方面里面class b前"啥意思?
int x=1,y=2;
void f(){
final int x=5;
int z=3;
class b{
public void f1(){
System.out.print(x);
System.out.print(a.this.x);
System.out.print(y);}}
}
b c=new b();
c.f1();}class b{
public static void main(String a[]){
a c=new a();
c.f();
}
}
ls的ls是这意思吧?
int x=1,y=2;
void f(){
final int x=5;
int z=3;
class b{
public void f1(){
System.out.print(x);
System.out.print(a.this.x);
System.out.print(y);}} b c=new b();
c.f1();
}
}class b{
public static void main(String a[]){
a c=new a();
c.f();
}
}
应该f()里面,放错地方了...
int x=1,y=2;
void f(){
final int x=5;
int z=3;
b c=new b();
class b{
public void f1(){
System.out.print(x);
System.out.print(a.this.x);
System.out.print(y);
}
}
c.f1();
} }
class c{
public static void main(String a[]){
a c=new a();
c.f();
}
} 想问的是 上面这样不可以通过编译
但是把c.f1(); 去掉为什么就可以通过编译了呢?