A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周怡 中级黑马   /  2013-2-5 13:07  /  2310 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

用final修饰的成员变量和用final static修饰的成员变量有什么区别?

9 个回复

倒序浏览
final修饰的对象或者变量,在内存中是不可修改,如果是对象则不可继承该对象。
static修饰的方法或者变量,是随着类的加载直接加载到方法区内,只有1个备份,并且可以修改。

只知道这么多了。

点评

fianl 是最终的意思,static静态的,不管方法和属性,都存放在静态区内,fianl修饰后是常量,固定的,只能赋一次值,  发表于 2013-3-13 22:35
回复 使用道具 举报
同学,论坛里很多的答案,随机选个给你参考:http://bbs.itheima.com/forum.php ... ight=final%2Bstatic

温馨提示:准备在论坛发帖时,最好先在论坛soso有没有答案,如果没有再发,小心被美女点名{:soso_e133:}
回复 使用道具 举报
哎,哥们是在蹭技术分吧。
回复 使用道具 举报
哥们在这里学习了
回复 使用道具 举报
final修饰成员变量意思是此成员变量值是不可改变的比如 private  final static String    aa = "xxxxx";aa的值永远不可改变。
而static修饰的是可以改变的,只不过会数据共享,在任何地方改变的都是同一个变量的值。
所以用final 和 static共同修饰的就是不能改变的全局常量。全局都可以访问的到,但全局都不能修改。
回复 使用道具 举报
刘卡 初级黑马 2013-2-18 21:24:30
7#
final修饰的成员变量即常量,在运行时是不能改变的,在每个对象中都有一份拷贝。为了节省内存,可以将常量声明为static,即statc final或fianl static,静态常量只属于一个类,直接用类名去调用,将一个常量定义为静态时必须在声明的同时进行初始化操作。
回复 使用道具 举报
final修饰的成员变量只可被赋值一次,不可被修改,随着对象的建立而初始化。
fianl static 修饰的成员变量虽然也是只可被赋值一次不可被修改,但它是随着类的加载直接加载的到共享区,属于静态常量,可以直接被类名调用,必须在声明时初始化。
回复 使用道具 举报
0.00 中级黑马 2013-3-13 10:44:17
9#
final修饰的是成员变量是一个常量,只能赋值一次,外部不能直接调用,而final static修饰的也是只能赋值一次,但可以类名调用。
回复 使用道具 举报
只有final的情况,那么你可以在声明时直接赋值,也可以在创建对象的时候再赋值!不管你在什么情况下赋值都只能赋值一次

加了static   那么就必须声明的时候就赋值,你若不赋值  被final 修饰的变量他不会自动默认初始化

有static可以被对象或者类名调用     没有的static的只能被对象调用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马