问题如标题。

解决方案 »

  1.   

    倘若能定义,那定义出来有用吗????!!!!
    自己写个Demo测测就知道
      

  2.   

    首先,static的变量或方法属于这个类本身,它会一直存在直到你的程序结束,
    所以,一般应该是以类名来直接调用的(当然自身的对象也可以);
    而对于一个非static的内部类,它首先是外层类的一个成员,必须存在外层类的对象才可以使它实例化,所以,假设当这个内部类中可以存在某些静态的属性
    或方法,那么它自己还是绝对不能以它的类名来访问或者调用的。
    因此:SUN的JDK干脆规定,非静态类中如果存在静态的属性或者方法,就直接报错!
      

  3.   

    谢谢,不知道是不是jdk官方的说法,如果是,就没说的了,呵呵。
    在不确定是不是官方说法的前提下,对以上解释还是有点不解。
    1.我认为如果可以定义静态属性,可以用:外部对象.内部类.静态方法 的方式进行访问。
    2.我认为静态的属性或者方法不全是用来访问或调用的,它还有进行类初始化的目的。