Aaron学习笔记

少壮不努力,长大没饭吃!
posts - 4, comments - 13, trackbacks - 0, articles - 37

JAVA中的final关键字用法

Posted on 2010-08-17 16:39 赞劲小子 阅读(471) 评论(0)  编辑 收藏 引用 所属分类: JAVA基础
         Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。可以修饰的对象: final变量、final方法和final类。
         1.  final类不能被继承,没有子类,final类中的方法默认是final的。
         2.  final方法不能被子类的方法覆盖,但可以被继承。 
         3.  final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
         4.  final不能用于修饰构造方法。   
         注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。 
               final int X=3;
               X=4; //出错
               final标记的成员变量必须在声明的同时或在该类的构造方法中显式赋值,然后才能使用。
               class Test
               {
                     final int X=3;
               }
               或者:
               class Test
               {
                     final int X;
                     Test()
                     {
                           X=3;
                     }
               }
         5. 方法中定义的内置类只能访问该方法内的final类型的局部变量,用final定义的局部变量相当于是一个常量,它的生命周期超出方法运行的生命周期,这种情况的应用,我们已在第三章中讲过。将一个形参定义成final也是可以的,这就限定了我们在方法中修改形式参数的值。
         6. 但这个“常量”也只能在这个类的内部使用,不能在类的外部直接使用。当我们用public static final共同标记常量时,这个常量就成了全局的常量。而且这样定义的常量只能在定义时赋值,即使在构造函数里面也不能对其进行赋值。如:           

            class Xxx
            
{
                     
public static final int X=3
                     
......

            }



 

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理