内部类是不可以有静态方法的,
除非是static class了。

解决方案 »

  1.   

    内部类有好多种,静态内部类,成员内部类,本地内部类以及匿名内部类。
    一般来说外部类是不会去直接访问内部类的方法的(main函数除外),因为这么做就丧失了内部类存在的意义。在main中对于内部类函数的调用,有以下几种
    静态内部类: 可以通过InnerClass.methodxxx();成员内部类、本地内部类: 可以通过new OutClass().new InnerClass().methodxxx();匿名内部类: 不允许直接调用,
      

  2.   

    class Outer
    {
      public Outer()
      {
        System.out.println("Outer");
      }
      public class  Inner
      {
        public Inner()
        {
          System.out.println("Inner.");
        }
        public void  sayHello()
        {
          System.out.println("Hello world!");
        }
      }
    }
    public  class  Test
    {
      public static  void  main(String[] args)
      {    
         Outer.Inner inner = new  Outer().new  Inner() ;
         inner.sayHello();
      }
    }