Sniper_qiu 发表于 2014-4-18 10:20
static final用来修饰成员变量和成员方法,可简单理解为“全局常量”!
对于变量,表示一旦给值就不可修改 ...
sanguodouble1 发表于 2014-4-18 10:39
问题是final的生命期和普通变量是一样的啊(这个是其他地方查到的),
而static的生命周期在类一被加载就 ...
Sniper_qiu 发表于 2014-4-18 11:29
你这样考虑就行了,static静态,而final是最终,在一起,就表示这是一个静态的最终的变量,用在定义在类 ...
Kelvinhu 发表于 2014-4-18 12:36
这答案我也不会。。百度学习了下,这个答案说的不错:
每一个非静态内部类,必须维持一个对其外 ...
sanguodouble1 发表于 2014-4-18 13:00
照你这个解释,那同样的问题再问你一下好了
你就直接解释为什么
Kelvinhu 发表于 2014-4-18 13:12
static只存在于类中,而不是在方法里
sanguodouble1 发表于 2014-4-18 13:17
就是问的你这个,为什么static只存在于类中,而不是在方法里
Kelvinhu 发表于 2014-4-18 13:27
因为static属于类啊,那你说方法里的变量作用域在哪里?不就只是在方法里面吗
那static修饰的又在哪里? ...
yanzhendong 发表于 2014-4-18 13:54
这应该是java的编程规范规定的,内部类是被当成外部类的成员来看待的,当一个内部类不是非静态时,这个内部 ...
sanguodouble1 发表于 2014-4-18 14:01
你都没看清问题,
static final int a = 0;这个也是静态成员,也可以不会依赖于外部类实例对象,你怎么 ...
sanguodouble1 发表于 2014-4-18 14:01
你都没看清问题,
static final int a = 0;这个也是静态成员,也可以不会依赖于外部类实例对象,你怎么 ...
sanguodouble1 发表于 2014-4-18 13:34
对啊,就是问你这个啊,
yanzhendong 发表于 2014-4-18 14:17
还有,static final int a主要突出的是a是一个常量,前面加不加static都一样,因为类中的常量本来就只有 ...
yanzhendong 发表于 2014-4-18 14:29
被static修饰的变量都是在堆中分配内存,而函数中的变量都是在栈中分配内存,所以不能在函数中使用static ...
sanguodouble1 发表于 2014-4-18 15:10
你说来说去也没说明白为什么在非静态内部类中可以用static final,外部类都没实例化,非静态内部类竟然已 ...
sanguodouble1 发表于 2014-4-18 15:06
谁告诉你类中的常量只有一份的?
final常量,如果在非静态方法中,那么方法每次被调用,都会在栈内存中分 ...
yanzhendong 发表于 2014-4-18 15:38
静态常量和静态变量还是有区别的,你不要纠结于这里,就像方法中的内部类只能访问方法中的被final修饰的 ...
sanguodouble1 发表于 2014-4-18 12:03
兄弟,我不是要记住,我问的是原理
你就直接解释为什么
Sniper_qiu 发表于 2014-4-18 21:06
class Outer {
public void outMethod() {
int outI = 10;
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |