java===java基础学习(16)---final

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......

 

posted @ 2018-04-18 21:27  botoo  阅读(198)  评论(0编辑  收藏  举报