sharewarer(WAP&J2ME) 说得对,俺看了jvm的规范,得出相同的结论。

解决方案 »

  1.   

    Final类
        Java编程语言允许关键字Final被应用到类中。如果这样做了,类便不能被子分成子类。比如,类Java.lang.String就是一个final类。这样做是出于安全原因,因为它保证,如果方法有字符串的引用,它肯定就是类String的字符串,而不是某个其它类的字符串,这个类是String的被修改过的子类,因为String可能被恶意窜改过。
    Final方法
        个体方法也可以被标记为final。被标记为final的方法不能被覆盖。这是由于安全原因。如果方法具有不能被改变的实现,而且对于对象的一致状态是关键的,那么就要使方法成为final。
        被声明为final的方法有时被用于优化。编译器能产生直接对方法调用的代码,而不是通常的涉及运行时查找的虚拟方法调用。
        被标记为static或private的方法被自动地final,因为动态联编在上述两种情况下都不能应用。
    Final变量
        如果变量被标记为final,其结果是使它成为常数。想改变final变量的值会导致一个编译错误。
      

  2.   

    为了1分,我来了。final就是最终者的意思,只能自我定义,任何外力动她编译器就要和你过不去.
      

  3.   

    补充:如作为常量final和static经常是一起用的
      

  4.   

    1分...也值得!
    简单的总结一下:final 告诉你..."我修饰的东东.谁也没有权利改变!"
      

  5.   

    final 就是最终的意思 
    作为一个变量、方法、或类的modifier的时候
    变量、方法、或类就不可以改变
    若再改变,就回产生编译错误
    还有就是应用final的时候
    必须和static一起用
      

  6.   

    我有一个问题:
    比如:
    final Button b=new Button();
    此处的 final 又是何意呢?
      

  7.   

    就是最后一个CLASS,不可以再被继承或修改!
      

  8.   

    补充:使用final可提高程序效率
      

  9.   

    楼住太厉害了
    把sket都那出来了?
      

  10.   

    我觉的最重要的一点是:
    java语言里的方法默认是可载的(相当于c++里的virtual方法),如果在c++会产生virtual table 指针,用于实现动态邦定,在java里为了不动态邦定在方法前加final
      

  11.   

    TO susanjona(jo):
    <<
    我有一个问题:
    比如:
    final Button b=new Button();
    此处的 final 又是何意呢?
    >>这里final的意思是在b的作用域内,引用地址不能被改变。
      

  12.   

    >
    我觉的最重要的一点是:
    java语言里的方法默认是可载的(相当于c++里的virtual方法),如果在c++会产生virtual table 指针,用于实现动态邦定,在java里为了不动态邦定在方法前加final
    <
    final方法确实不会动态邦定,从而可以提高一点效率,但final方法的本意应该不是这个。
      

  13.   

    final:最终类
    定义的东西再也不能被修改