这是关于内部类中的最终变量,但如果我们在方法外部将变量声明为静态变量,则不是将变量声明为最终变量,假设该方法是静态的。那么声明为静态外部方法还是声明为要在内部类中访问的最终内部方法之间有什么区别。它们是否会有所不同,或者它们的功能相似。哪一个是最好的。我将等待您的回复。
提前感谢
发布于 2010-09-24 16:29:43
静态变量将在内部类的不同实例化中保留它们的值。假设您在内部类A中声明了一个静态变量并将其赋值为1,然后在方法调用中将其值递增为2。当创建此内部类的另一个实例时,它的值将为2。
对于final变量,在声明时只能赋值一次(在你的例子中,即在一个方法中声明)。编译器所做的就是内联值,也就是说,无论你在哪里,这个变量都会被它的值所取代(因为你不能改变它的值)。
我建议尽可能使用final变量。但static有它自己的需求,使用情况取决于使用场景。
发布于 2013-01-28 16:03:46
最终变量是实例变量,其值在初始化后不能更改(无论是在c‘’tor中还是在声明时)。但是静态变量属于一个类。这将在所有实例中共享,所以当你在一个实例中改变一个静态变量的值时,它会在所有实例中反映出来。
https://stackoverflow.com/questions/3785316
复制相似问题