| 在学习的过程中有了一点小的体会,就拿了出来,首先是关于 此代码中注释掉的部分,当外部类的静态成员方法去调用内部类时,要保证该内部类也是静态的,因为静态方法是在类实例化之前就可以使用的,可以通过类名调用,而这时动态内部类都还没实例化,也就没有对象去调用,所以会报找不到方法的错误,另外此练习还顺便加深了一下对多态的印象。复制代码interface Inter
{
   void method();        
}
class Test
{
        /*
  static class Inner implements Inter //静态的内部类才能被静态成员调用
        {
           public void method()
           {
              System.out.println("haha");        
                   
           }
        }
        */
        
        static Inter function() 
  //返回Inter类型的才能调用 method方法,相当于多态
     //感觉此处 应该是  Inter 匿名内部类返回值 = new Inter实现类类型();
        {
           
           //匿名内部类
           return new Inter() 
           {
              public void method()
              {
                 System.out.println("haha");        
                   
              }
                   
           };
           
          // return new Inner();
           
           
           
        }
        
        
}
class InnerClassTest
{
   public static void main(String[] args)
   {
      Test.function().method();        
           
   }        
        
}
 |