static只能修饰成员(成员方法和成员变量),这是因为生命周期的长短问题。局部变量一般存储在栈内存中,方法执行完毕后,局部变量就会死掉,资源被释放;要是static能修饰局部变量,那么它的生命周期该有多长,这样做有啥意义?要是真要调用这个局部变量,Java中提供的修饰符是final。
而且我们要知道内部类放在外部类不同的位置时的用法也是不同的,在局部位置,我暂且叫这个内部类为“局部”内部类,这个局部内部类不可以被成员修饰符所修饰,包括private static 等等 也不能调用所在方法中的局部变量,只能调用被final修饰的局部变量,这个同样是跟生命周期有关,相关资料可以参考教学视频或者问问度娘,这里就不多解释:) |