Java中的final关键字浅析

来源:互联网 发布:中国乳业数据 编辑:程序博客网 时间:2024/04/30 07:11

1、修饰类的成员变量
这是final的主要用途之一,和C/C++的const,即该成员被修饰为常量,意味着不可修改。

上面的代码对age进行初始化后就不可再次赋值,否则编译时会报类似上图的错误。
如果修饰的是引用类型的变量,那么初始化后就不能让他指向另一个对象,如下图所示这里写图片描述

2.修饰方法
用final关键字修饰的方法是不能被该类的子类override(重写),因此,如果在想明确禁止 该方法在子类中被覆盖的情况下才将方法设置为final的。
注:类的private方法会隐式地被指定为final方法

public class Person {    public Person() {        // TODO Auto-generated constructor stub    }    public final void show(){    }}
public class Man extends Person{    public void show( ){    }}

上面的Man类就会报如下的编译错误## 标题 ##

Cannot override the final method from Person

3.修饰类
当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。

1 0
原创粉丝点击