首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >final变量和静态变量在innerclass中的用法不同

问final变量和静态变量在innerclass中的用法不同
EN

Stack Overflow用户
提问于 2010-09-24 16:18:00
回答 2查看 9.6K关注 0票数 0

这是关于内部类中的最终变量,但如果我们在方法外部将变量声明为静态变量,则不是将变量声明为最终变量,假设该方法是静态的。那么声明为静态外部方法还是声明为要在内部类中访问的最终内部方法之间有什么区别。它们是否会有所不同,或者它们的功能相似。哪一个是最好的。我将等待您的回复。

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-24 16:29:43

静态变量将在内部类的不同实例化中保留它们的值。假设您在内部类A中声明了一个静态变量并将其赋值为1,然后在方法调用中将其值递增为2。当创建此内部类的另一个实例时,它的值将为2。

对于final变量,在声明时只能赋值一次(在你的例子中,即在一个方法中声明)。编译器所做的就是内联值,也就是说,无论你在哪里,这个变量都会被它的值所取代(因为你不能改变它的值)。

我建议尽可能使用final变量。但static有它自己的需求,使用情况取决于使用场景。

票数 3
EN

Stack Overflow用户

发布于 2013-01-28 16:03:46

最终变量是实例变量,其值在初始化后不能更改(无论是在c‘’tor中还是在声明时)。但是静态变量属于一个类。这将在所有实例中共享,所以当你在一个实例中改变一个静态变量的值时,它会在所有实例中反映出来。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3785316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档