猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
应该是内部类的问题
1.这个代码错误原因是什么?
2.如果是内部类的问题,为什么创建内部类对象c1,c2和访问内部类成员变量的时候,不提示错误?
该怎么修改呢?
谢谢各位
fafagagag
浏览 1152
回答 1
1回答
宇哥sss丶
第一个错误:java成员内部类中不能用静态变量。具体原因是:静态变量是要占用内存的,在编译时只要是定义为静态变量了,系统就会自动分配内存给他,而内部类是在宿主类编译完编译的,也就是说,必须有宿主类存在后才能有内部类,这也就和编译时就为静态变量分配内存产生了冲突,因为系统执行:运行宿主类->静态变量内存分配->内部类,而此时内部类的静态变量先于内部类生成,这显然是不可能的,所以不能定义静态变量!第二个错误:是因为创建内部类对象时,必须先创建外部类的对象。这是因为非静态内部类对象有着指向其外部类对象的引用。可以先记住:要创建内部类对象就要先创建相应外部类的对象。具体代码:希望可以帮到你哟~
0
0
1
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续