Reusing Class (final关键字)

 1.final 可以修饰 变量、方法、类。final修饰的变量在声明的时候就必须给值。final修饰的原始类型变量的值不能被改变;final修饰的引用类型变量不能指向新的对象;

    final修饰的方法不能被子类覆盖(父类的私有方法不能被子类继承,即:子类如果有与父类同名、同参数的方法(私有的)不能构成覆盖,而是子类特有的方法);

    final修饰的类不能被继承,如果出于安全的考虑,你不想让你的类被继承,可以使用final关键字。

 2. 编译时常量:编译期可以计算出来值(如:public static final int a=10;编译期可以计算出来a=10,所以a是编译期常量,还有public static final int b=a + 1

     运行时常量:编译期不可以计算出来值 (如:publicstaticfinalint b=((int)(Math.random()*10));编译期不可以计算出b的值,所以b不是编译期常量)。

 3. 如果子类构造器不显示调用父类的构造器,则子类构造器默认调用父类的默认构造器;如父类没有默认构造器,则子类构造器必须显示调用父类的构造器。

posted @ 2012-09-01 22:13  ljob  阅读(136)  评论(0编辑  收藏  举报