java多态(属性?静态方法?)--内部类定义?

编译,运行==结果:答案是否定的--->多态只限于普通方法,属性和静态方法没有多态!


内部类的定义(规则): static ,non-static

//内部类,外部类---》静态内部类+ non-static 内部类: 
  2 
  3 //结论: 1,non-static 内部类,不能声明static内容;
  4 //        2,static 方法内,不能出现non-static内容!
  5 
  6 public class InOut{
  7 
  8     public static void prt(){}
  9     int a=0;
 10     static String b="bb";
 11 
 12     //内部类1
 13     public class In{
 14         //定义static method+ property
 15         //  public static int a=10;//报错,不能定义static
 16        //   public static void prt(){}  //报错,不能定义static
 17         public void p(){
 18             prt();//ok ...可以引用static方法
 19             b=""; //ok...可以引用static变量
 20         }
 21     }
 22 
 23 
 24     //内部类2
 25     static class In2{
 26         int a=100;//定义普通变量:ok...
 27 
 28         public  void p(){  } //ok ...定义普通方法
 29 
 30         public  void p1(){ prt(); } //ok ..定义普通方法:调用static方法.
 31 
 32     //public  void p(){ a=10; } //报错:定义普通方法:不能引用non-static变量
 33 
 34         public static void p2(){}//ok..定义静态方法.
 35 
 36     //public static void p3(){a=1;}//报错:定义静态方法:不能引用non-static变量
 37 
 38     }
                            

猜你喜欢

转载自blog.csdn.net/eyeofeagle/article/details/80757322