如题,示例代码:
class InnerClass1
{
int a=0;
class Test {
int a=9;
public void p()
{
(*) System.out.println(a+" OK!");
}
}
}*句打印的是内部类的a,如何可以访问外部类的a?
谢谢指教!!~~~
class InnerClass1
{
int a=0;
class Test {
int a=9;
public void p()
{
(*) System.out.println(a+" OK!");
}
}
}*句打印的是内部类的a,如何可以访问外部类的a?
谢谢指教!!~~~
{
int a=0;
class Test {
int a=9;
InnerClass ic = new InnerClass();
public void p()
{
System.out.println(ic.a +" OK!");//这里是内部类访问外部类
}
}
public static void main (String[] args){
InnerClass ic = new InnerClass();
InnerClass.Test test = ic.new Test();
test.p();!");//这里是外部类访问内部类
}
}
int x = 10; public Test() {
new Inner().foo();
} class Inner {
int x = 100;
public void foo() {
System.out.println(x); //Inner.x
System.out.println(Test.this.x); //Test.x
}
} public static void main(String[] args) {
new Test();
}
}
public class outCls {
int a = 0; class innerCls {
int a = 9;
public void p() {
System.out.println("a=" + outCls.this.a);
}
} public void print() {
new innerCls().p();
} public static void main(String[] args) {
outCls obj = new outCls(); obj.print();
}
}
{
int a=0;
class Test {
int a=9;
private InnerClass ic;
//改进一下
public Test(InnerClass ic){this.ic = ic}//将Test的创建者传进来或按需要传递
public void p()
{
System.out.println(ic.a +" OK!");//这里是内部类访问外部类
}
}
public static void main (String[] args){
InnerClass ic = new InnerClass();
InnerClass.Test test = ic.new Test();
test.p();!");//这里是外部类访问内部类
}
}