请教:为什么在非静态内部类中不能有静态方法,静态属性,静态初始化块?

iammingbohello 2008-12-12 08:24:35
问题如标题。
...全文
265 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
iammingbohello 2008-12-14
  • 打赏
  • 举报
回复
顶上去
wm920 2008-12-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 iammingbohello 的回复:]
引用 5 楼 Wing198812 的回复:
首先,static的变量或方法属于这个类本身,它会一直存在直到你的程序结束,
所以,一般应该是以类名来直接调用的(当然自身的对象也可以);
而对于一个非static的内部类,它首先是外层类的一个成员,必须存在外层类的对象才可以使它实例化,所以,假设当这个内部类中可以存在某些静态的属性
或方法,那么它自己还是绝对不能以它的类名来访问或者调用的。
因此:SUN的JDK干脆规定,非静态…
[/Quote]

只能说答案算对1/10
m113388 2008-12-13
  • 打赏
  • 举报
回复
study
iammingbohello 2008-12-13
  • 打赏
  • 举报
回复
顶一下
iammingbohello 2008-12-13
  • 打赏
  • 举报
回复
顶一下
iammingbohello 2008-12-13
  • 打赏
  • 举报
回复
再顶顶
finnyuan 2008-12-12
  • 打赏
  • 举报
回复
不错!顶一下
iammingbohello 2008-12-12
  • 打赏
  • 举报
回复
up一下
iammingbohello 2008-12-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 Wing198812 的回复:]
首先,static的变量或方法属于这个类本身,它会一直存在直到你的程序结束,
所以,一般应该是以类名来直接调用的(当然自身的对象也可以);
而对于一个非static的内部类,它首先是外层类的一个成员,必须存在外层类的对象才可以使它实例化,所以,假设当这个内部类中可以存在某些静态的属性
或方法,那么它自己还是绝对不能以它的类名来访问或者调用的。
因此:SUN的JDK干脆规定,非静态类中如果存在静态的属性或者方法…
[/Quote]
谢谢,不知道是不是jdk官方的说法,如果是,就没说的了,呵呵。
在不确定是不是官方说法的前提下,对以上解释还是有点不解。
1.我认为如果可以定义静态属性,可以用:外部对象.内部类.静态方法 的方式进行访问。
2.我认为静态的属性或者方法不全是用来访问或调用的,它还有进行类初始化的目的。
iammingbohello 2008-12-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ljking2006 的回复:]
静态类,方法都是应用程序启动就自动加载到内存的.
而非静态只有使用的时候才加载,你不可能进入到非静态的内部去加载静态方法吧.
[/Quote]
不一定要加载静态方法啊,那按你的意思 非静态内部类什么时候加载的呢?
不管是静态内部类还是非静态内部类,总要加载的吧。
那加载类的时候进行内部类中的静态变量的初始化有什么问题呢?
SylvanLiu 2008-12-12
  • 打赏
  • 举报
回复
首先,static的变量或方法属于这个类本身,它会一直存在直到你的程序结束,
所以,一般应该是以类名来直接调用的(当然自身的对象也可以);
而对于一个非static的内部类,它首先是外层类的一个成员,必须存在外层类的对象才可以使它实例化,所以,假设当这个内部类中可以存在某些静态的属性
或方法,那么它自己还是绝对不能以它的类名来访问或者调用的。
因此:SUN的JDK干脆规定,非静态类中如果存在静态的属性或者方法,就直接报错!
ljking2006 2008-12-12
  • 打赏
  • 举报
回复
静态类,方法都是应用程序启动就自动加载到内存的.
而非静态只有使用的时候才加载,你不可能进入到非静态的内部去加载静态方法吧.

ty_fzpb 2008-12-12
  • 打赏
  • 举报
回复
倘若能定义,那定义出来有用吗????!!!!
自己写个Demo测测就知道
location179 2008-12-12
  • 打赏
  • 举报
回复
友情up
qap22 2008-12-12
  • 打赏
  • 举报
回复
友情up

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧