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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 闫玉泉 黑马帝   /  2012-2-27 15:05  /  2067 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 闫玉泉 于 2012-2-27 17:55 编辑

Static 和Final有什么区别?

2 个回复

倒序浏览
static是静态修饰关键字,可以修饰变量和程序块以及类方法:当你定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存;修饰一个程序块的时候(也就是直接将代码写在static{...}中)时候,虚拟机就会优先加载静态块中代码,这主要用于系统初始化;当修饰一个类方法时候你就可以直接通过类来调用而不需要新建对象。
final可以修饰变量、方法及类,当你定义一个final变量时,jvm会将其分配到常量池中,程序不可改变其值;当你定义一个方法时,改方法在子类中将不能被重写;当你修饰一个类时,该类不能被继承。
回复 使用道具 举报
调用static中的方法和属性,可以直接用类名来调用,而不必使用任何的对象,Final是“终态的”,“不可改变的”,可以用来修饰累,属性,方法。final类,不能被继承,  final类不能被继承,没有子类,final类中的方法默认是final的。   final方法不能被子类的方法覆盖,但可以被继承。   final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 final不能用于修饰构造方法。具体的可以查一下API
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马