2007.6.12
1、关于final
(1) 用final声明的变量,相当于将该变量当作一个常数,不能改变,所以其使用
之前必须初始化,声明时不初始化也可以.
(2) 用final声明方法,作用有两个:
a、表示该方法在被继承时不可重写.
b、处于执行效率的考虑(建议方法的代码较少的时候才用final),因为用final
声明的变量或者方法是发生在动态绑定之前;
(3)、用final声明类,表示禁止该类被继承.将类定义为final后,结果只是禁止
继承,没有其他限制.属性可以定义为final,也可以不是.然而,将类定义为final
后,所有方法自动定义为final,所以将类定义为final也可以提高效率.
(4) static与final结合使用表示:唯一的一个不可以改变的常数变量,可用于包
之间.且用static final声明的含有固定初始化值(即编译常数)的基本数据类型,其变
量名要全部大写,随即数则没规定,因为随机数是在运行时确定的.
(5) final与static的区别就是,static指定的是值必须在编译是明确知道,而
final的值可以在运行时确定(用随机函数赋值).可以这样声明:
static final int i5 = (int)(Math.random()*20);