可以有的,你只要在你内部类的定义上加一个static例如public class A{ static class B{
static int C;
}}
static int C;
}}
解决方案 »
- java操作pdf模板自动生成pdf文件
- CastException异常
- 用正则表达式
- JAVA书籍推荐
- java删除文件问题~~!~
- LRESULT CExample1Dlg::OnServerMessage(WPARAM wParam, LPARAM lParam)
- 关于删除JComboBox中项的问题.
- 还是SOCKET的问题,打开一个输入流以后,有一部分数据我不想再接受了,该怎么办?(很急,没分了)
- 怎样才能查看com.sun.image.codec.jpeg.*中包含的接口和对象,是包含在JDK1.4中吗?
- 想对一个map集合里的value进行排序 怎么个思路呢
- 怎么实现全屏显示??
- 怎样使表格实现隔行显示不同的颜色?
-----------------------------------------------------------------我认为不对吧,我的理解时:
静态的方法和变量都生命周期就是该class的生命周期.例如运行
Util.copyFile();
String path = Constants.UPLOAD; 没调用时,他们不会存在内存中.
程序运行这个方法,内存中将初始化该class文件,并调用静态方法和静态变量
一用完就该类回收,并将所占用的内存全部释放.
而java在初始化顶级类的时候可能没有分析这个外部类的非静态内部类的静态变量并进行定义,而后期调用时又不能更改顶级类的静态区,造成此时java在运行中发现了静态变量,但是在静态区无法找到这个静态地址了。
所以编译的时候会提示这么作不可以,不知道对不对?
1.无须宿主类的对象就能创建嵌套类的对象。
2.不能在嵌套类的对象里面访问非static的宿主类对象。
3.普通内部类的成员数据和方法只能到类的外围这一层,因此普通的内部类不能有static数据,static数据成员或嵌套类。
静态的方法和变量都生命周期就是该class的生命周期.例如运行
Util.copyFile();
String path = Constants.UPLOAD; 没调用时,他们不会存在内存中.
程序运行这个方法,内存中将初始化该class文件,并调用静态方法和静态变量
一用完就该类回收,并将所占用的内存全部释放.------------------------------------------------------
分清楚类和实例