主类的一个内部类怎样才能引用主类以外的类??

解决方案 »

  1.   

      1 public class MainClass {
      2     public InnerClass getInnerClass() {
      3         return new InnerClass();
      4     }
      5
      6     public class InnerClass {
      7         public String name = "name";
      8
      9         public String getName() {
      10             return name;
      11         }
      12
      13         public void setName(String name) {
      14             this.name = name;
      15         }
      16     }
      17 }   1 public class CheckClass {
      2     public static void main(String[] args) {
      3         MainClass mainClass = new MainClass();
      4         System.out.println(mainClass.getInnerClass().getName());
      5     }
      6 }\
    这样就调用了主类之外的类了
      

  2.   

    先定义一个被内部类调用的类C,放在package c中
    package c ;
    public class C {
    public void printC(){
    System.out.println("**C**") ;
    }
    }
    再定义一个包含内部类的类A,含两个内部类B,D,放在package a中,并且得导入c包
    package a ;
    import c.* ;
    //import c.C ;
    public class A {
    class B {
    public void printB(){
    System.out.println("**B**") ;
    new C().printC() ;
    new D().printD() ;
    }
    }
    class D {
    public void printD(){
    System.out.println("**D**") ;
    }
    }
    public void printA(){
    System.out.println("**A**") ;
    }
    public static void main(String[] args){
    new A().printA() ;
    new A().new B().printB() ;
    }
    }
    之后进行编译,运行...如下
    F:\Hello World\temp>javac -d . *.java
    F:\Hello World\temp>java a.A
    **A**
    **B**
    **C**
    **D**
      

  3.   

    class A
    {
    class B
    {
        public void dosth()
         {
               A a = A.this;
          }
    } 虽然没试但是肯定可以
      

  4.   

    public class A {
    public void show() {
    System.out.println("This is A.");
    }
    }public class Outer { public class Inner{
    public void show(){
    System.out.println("new A...");
    A a = new A();
    a.show();
    System.out.println("This is Inner show()..");
    }
    }

    public static void main(String[] args) {
    Outer o = new Outer();

    Inner i = o.new Inner();
    i.show();
    }
    }
      

  5.   

        2     public InnerClass getInnerClass() {
      3         return new InnerClass();
      4     }
      5
     这个地方出错,return不能返回对象(new InnerClass)