请教:为什么在非静态内部类中不能有静态方法,静态属性,静态初始化块? 问题如标题。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 倘若能定义,那定义出来有用吗????!!!!自己写个Demo测测就知道 首先,static的变量或方法属于这个类本身,它会一直存在直到你的程序结束,所以,一般应该是以类名来直接调用的(当然自身的对象也可以);而对于一个非static的内部类,它首先是外层类的一个成员,必须存在外层类的对象才可以使它实例化,所以,假设当这个内部类中可以存在某些静态的属性或方法,那么它自己还是绝对不能以它的类名来访问或者调用的。因此:SUN的JDK干脆规定,非静态类中如果存在静态的属性或者方法,就直接报错! 谢谢,不知道是不是jdk官方的说法,如果是,就没说的了,呵呵。在不确定是不是官方说法的前提下,对以上解释还是有点不解。1.我认为如果可以定义静态属性,可以用:外部对象.内部类.静态方法 的方式进行访问。2.我认为静态的属性或者方法不全是用来访问或调用的,它还有进行类初始化的目的。 protected访问修饰符 关于数据库查询 菜鸟求助 关于打JAR包时的问题 如何写一个读取手机短信息的程序呀? 一个很简单的送分问题……………………!!! 想从java基础开始学的来看看 探讨一下,如何动态的画出来??? 各位大虾问下 clone 的问题 高分征集Think in java(第2版)中文电子版 来看看这个JAVA问题,为什么不产生死锁 List 泛型参数动态的问题
自己写个Demo测测就知道
所以,一般应该是以类名来直接调用的(当然自身的对象也可以);
而对于一个非static的内部类,它首先是外层类的一个成员,必须存在外层类的对象才可以使它实例化,所以,假设当这个内部类中可以存在某些静态的属性
或方法,那么它自己还是绝对不能以它的类名来访问或者调用的。
因此:SUN的JDK干脆规定,非静态类中如果存在静态的属性或者方法,就直接报错!
在不确定是不是官方说法的前提下,对以上解释还是有点不解。
1.我认为如果可以定义静态属性,可以用:外部对象.内部类.静态方法 的方式进行访问。
2.我认为静态的属性或者方法不全是用来访问或调用的,它还有进行类初始化的目的。