比如说我有个A类  其内部有个B类(这个内部类的名字应该是A$B.class吧)  然后呢  还有个与A类 同级的B类  现在我的A类要产生一个  与A类同级的那个B类对象   该怎么写呢//第一个类
public class A {    public A() {
         new B();//就这里的问题  该怎么写呢   
    }    public class B {
         public B() {
              System.out.println("A.B");
         }
    }
}   //第二个类
public class B {
    public B() {
         System.out.println("B");
    }
}

解决方案 »

  1.   

    this.new B()   不是访问A的内部的B类么我想访问的是外部的B类  
      

  2.   

    关注一下 不知道有没有办法 感觉在A类作用域范围内已经被B内部类全覆盖了
    也没有Outter Inner之类的作用域区别关键字啊
      

  3.   

    可以用包名解决这个问题
    第一个类:
    package csdn;public   class   A   {        public   A()   {
                      new   csdn.B();//就这里的问题     该怎么写呢      
            }        public   class   B   {
                      public   B()   {
                                System.out.println("A.B");
                      }
            } 
            
            public static void main(String[] args)
            {
                new A();
            }
    }      
    第二个类:
    package csdn;public   class   B   {
            public   B()   {
                      System.out.println("B");
            }
    }
      

  4.   

    楼上正解。标准的java类也有重名的,最典型的就是 Date 类了!java.util.Date
    java.sql.Datejava.util.Date d1 = new java.util.Date();
    java.sql.Date d2 = new java.sql.Date(System.currentTimeMillis());
      

  5.   

    外面的用包名      csdn.B
    内部类用外部类类名 A.B