补充原码:
public class InnerClassTest
{  
   public static void main(String[] args)
   {  
      BankAccount account = new BankAccount(10000);
      System.exit(0);
   }private class BankAccount
{  
   public BankAccount(double initialBalance)
   {  
      balance = initialBalance;
   }
   private double balance;
}
}

解决方案 »

  1.   

    Inner Class 是为了让Inner Class可以取用Outer Class的private fields
    而不是C++ 中的nested Class
    你也在看Core Java吗?
      

  2.   

    main是static的方法,要先创建一个对象才能访问类成员:
    public class InnerClassTest
    {  
       public static void main(String[] args)
       {  
          InnerClassTest ict=new InnerClassTest();
          ict.Access();   
          //BankAccount account = new BankAccount(10000);
          System.exit(0);
       }
    public void Access(){
    BankAccount account=new BankAccount(10000);
    }private class BankAccount
    {  
       public BankAccount(double initialBalance)
       {  
          balance = initialBalance;
       }
       private double balance;
    }
    }
      

  3.   

    main()是class InnerClassTest的static方法,就是说在main()运行时还没有BankAccount这个类的概念。要解决这一问题:
    public class InnerClassTest
    {  
       BankAccount account = new BankAccount(10000);
       public static void main(String[] args)
       {  
          InnerClassTest innerTest = new InnerClassTest(); \\这时BankAccount出现
          System.out.println(innerTest.account.getBalance());
          System.exit(0);
       }private class BankAccount
    {  
       public BankAccount(double initialBalance)
       {  
          balance = initialBalance;
       }
       private double balance;
       public double getBalance()
      {
          return balance;
      }
    }
    }