A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一个小问题。为什么成员内部类里不能定义静态的属性和方法?

静态对象的加载模式是默认加载,是不是可以将内部类也设置为默认加载?

1 个回复

倒序浏览
静态的对象,在内存中实默认实例化的,
在加载的时候就会存放到内存中。
也就是可以直接调用而不需要手动实例化。
首先内部的静态类他是不能直接被实例化的。
你必须实例化外部类才能实例化它。
而外部类不是默认加载的,他只有在手动实例化之后才有内存分配。
这时问题出现了。既然静态对象是默认加载,
那么静态内部类应该先于外部类被加载到内存中。
那么这是又和我们之前的一个结论相反,
首先内部的静态类他是不能直接被实例化的。
你必须实例化外部类才能实例化它。
所以这种写法是错误的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马