final-----概念

1.当不希望父类的某个方法被子类覆盖(override)时,可以用final关键字修饰。

2.当不希望类的某个变量的值被修改时,可以用final修饰。如果要用final,则必须赋初始值,不然编译不过

3.当不希望被继承时,可以用final修饰。

package demo;

public class test4 {
public static void main(String[] args) {
Bbb aBbb = new Bbb();
System.out.println("a=="+aBbb.get_a());
} } class Aaa
{
int a=0; //?如果不给初始值,a=?
final float b = 3.141592654f;
final public void sendMessage()
{
System.out.println("发消息!");
} } class Bbb extends Aaa
{
// public void sendMessage()
// {
// 这里报错,final定义的不能被覆盖
// } public Bbb()
{
a++;
//b++; //这里报错 The final field Aaa.b cannot be assigned
} public int get_a()
{
return a;
}
} final class Ccc
{
//不能被继承
} //class Ddd extends Ccc
//{
// //The type Ddd cannot subclass the final class Ccc
//}

注意事项:
1.final修饰的 变量又叫常量,一般用 xx_xx_xx来命名

2. final修饰的变量在定义时,必须赋值,并且以后不能再赋值

final什么时候用?
1.因为安全的考虑,类的某个方法不允许被修改

2.类不会被其它类继承

3.某些变量值是固定不变的,比如圆周率3.141592......

04-27 03:26