final关键字是干嘛用的 sharewarer(WAP&J2ME) 说得对,俺看了jvm的规范,得出相同的结论。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Final类 Java编程语言允许关键字Final被应用到类中。如果这样做了,类便不能被子分成子类。比如,类Java.lang.String就是一个final类。这样做是出于安全原因,因为它保证,如果方法有字符串的引用,它肯定就是类String的字符串,而不是某个其它类的字符串,这个类是String的被修改过的子类,因为String可能被恶意窜改过。Final方法 个体方法也可以被标记为final。被标记为final的方法不能被覆盖。这是由于安全原因。如果方法具有不能被改变的实现,而且对于对象的一致状态是关键的,那么就要使方法成为final。 被声明为final的方法有时被用于优化。编译器能产生直接对方法调用的代码,而不是通常的涉及运行时查找的虚拟方法调用。 被标记为static或private的方法被自动地final,因为动态联编在上述两种情况下都不能应用。Final变量 如果变量被标记为final,其结果是使它成为常数。想改变final变量的值会导致一个编译错误。 为了1分,我来了。final就是最终者的意思,只能自我定义,任何外力动她编译器就要和你过不去. 补充:如作为常量final和static经常是一起用的 1分...也值得!简单的总结一下:final 告诉你..."我修饰的东东.谁也没有权利改变!" final 就是最终的意思 作为一个变量、方法、或类的modifier的时候变量、方法、或类就不可以改变若再改变,就回产生编译错误还有就是应用final的时候必须和static一起用 我有一个问题:比如:final Button b=new Button();此处的 final 又是何意呢? 就是最后一个CLASS,不可以再被继承或修改! 补充:使用final可提高程序效率 楼住太厉害了把sket都那出来了? 我觉的最重要的一点是:java语言里的方法默认是可载的(相当于c++里的virtual方法),如果在c++会产生virtual table 指针,用于实现动态邦定,在java里为了不动态邦定在方法前加final TO susanjona(jo):<<我有一个问题:比如:final Button b=new Button();此处的 final 又是何意呢?>>这里final的意思是在b的作用域内,引用地址不能被改变。 >我觉的最重要的一点是:java语言里的方法默认是可载的(相当于c++里的virtual方法),如果在c++会产生virtual table 指针,用于实现动态邦定,在java里为了不动态邦定在方法前加final<final方法确实不会动态邦定,从而可以提高一点效率,但final方法的本意应该不是这个。 final:最终类定义的东西再也不能被修改 用common net3.1实现telnet连接时,无法同时建立多个会话,求高手 特急!!!!!使用ERwin生成数据库表时,为什么外键约束无法生成呢? 关于如何快速读取需要解析的文件 怎样使用Swing 实现 缩略图标功能 有没专门学习程序方面英语的好网站或资料 我在bin里找不到javac 只找到了javaw 怪怪怪 java 基本类型 与常量池和栈 applet显示问题 Socket接收输入流readLine() 救命!!!不能编译.java文件 两个应用程序如何通信? java程序,如何能够作为一个windows服务
Java编程语言允许关键字Final被应用到类中。如果这样做了,类便不能被子分成子类。比如,类Java.lang.String就是一个final类。这样做是出于安全原因,因为它保证,如果方法有字符串的引用,它肯定就是类String的字符串,而不是某个其它类的字符串,这个类是String的被修改过的子类,因为String可能被恶意窜改过。
Final方法
个体方法也可以被标记为final。被标记为final的方法不能被覆盖。这是由于安全原因。如果方法具有不能被改变的实现,而且对于对象的一致状态是关键的,那么就要使方法成为final。
被声明为final的方法有时被用于优化。编译器能产生直接对方法调用的代码,而不是通常的涉及运行时查找的虚拟方法调用。
被标记为static或private的方法被自动地final,因为动态联编在上述两种情况下都不能应用。
Final变量
如果变量被标记为final,其结果是使它成为常数。想改变final变量的值会导致一个编译错误。
简单的总结一下:final 告诉你..."我修饰的东东.谁也没有权利改变!"
作为一个变量、方法、或类的modifier的时候
变量、方法、或类就不可以改变
若再改变,就回产生编译错误
还有就是应用final的时候
必须和static一起用
比如:
final Button b=new Button();
此处的 final 又是何意呢?
把sket都那出来了?
java语言里的方法默认是可载的(相当于c++里的virtual方法),如果在c++会产生virtual table 指针,用于实现动态邦定,在java里为了不动态邦定在方法前加final
<<
我有一个问题:
比如:
final Button b=new Button();
此处的 final 又是何意呢?
>>这里final的意思是在b的作用域内,引用地址不能被改变。
我觉的最重要的一点是:
java语言里的方法默认是可载的(相当于c++里的virtual方法),如果在c++会产生virtual table 指针,用于实现动态邦定,在java里为了不动态邦定在方法前加final
<
final方法确实不会动态邦定,从而可以提高一点效率,但final方法的本意应该不是这个。
定义的东西再也不能被修改