黑马程序员技术交流社区
标题:
局部内部类,和局部内部类的成员
[打印本页]
作者:
gzbbxu
时间:
2013-6-17 17:01
标题:
局部内部类,和局部内部类的成员
为什么都不能用static修饰?
作者:
shang1jk
时间:
2013-6-17 17:48
用static修饰后就是随着类的加载而加载的了, 局部内部类如果使用static就不能对外部成员进行自由调用了, 作为取舍, java规定了不能使用static修饰.
也因此局部内部类的成员不能有static(否则会优先于类的加载而加载, 这明显不合理.)
不知道解释的对不对, 请大神指点
作者:
孙茜茜
时间:
2013-6-17 20:38
1、局部内部类
他是写在外部类的一个方法体里,方法是成员,可以static,而方法体里面的东西是运算过程,不是成员,
只有成员可以用private和static修饰。
2、局部内部类的成员能不能static我不知道,没听说过
3、局部内部类可以访问定义他的方法的局部变量,但是变量必须是final修饰的。
因为final定义的局部变量相当于一个常量,延长了其生命周期,使得方法消亡时,其内部类仍可以访问该变量。
作者:
mulua
时间:
2013-6-17 20:51
1.static 是成员修饰符,内部类定义在局部,就不是成员。
2.内部类中定义了静态成员时,该内部类也必须是静态的,第一条不成立所以第二条也不成立。
作者:
张承富
时间:
2013-6-17 21:05
既然清楚static的变量是类的,哪就应该知道为什么啊,
在方法里面定义的变量是局部变量,就是说他有一定的作用范围和生命周期,就只能在方法里面使用而不能将其扩展到别的地方,这个变量在方法结束后就会被回收器回收,就不再存在了,而要强制将其加上static就是要把它的作用范围扩展到整个类,这就与开始定义这个变量时违背了,这是语法上的错误。
作者:
孙百鑫
时间:
2013-6-22 01:54
楼主您好~帖子长时间未作出回答,我已经将您的帖子改成已解决。如果有问题的话可以私密我哦~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2