final的可变与不可变

1、修饰一个类

当前类用final关键字进行修饰时,表示这个类不能让任何类进行继承。
一个类如果用final修饰,该类所有的成员方法都无法进行覆盖重写。

public final class Class{
}

2、修饰一个方法

当用final关键字修饰类中的方法时,可以把方法锁定, 这个方法无法被子类覆盖重写

public class MyName{
	public final void method(){
	}
}

3、修饰一个成员变量

final修饰的成员变量,要么使用直接赋值,要么通过构造方法赋值, 数值一旦被初始化就不能被更改


public class Person {
    private final String name="张三";

    public Person() {
    }

    public String getName() {
        return name;
    }
}

4、修饰基本数据类型

使用final关键字修饰定义一个常数的时候,必须给定一个初始值
比如:

 final int a = 1;

5、修饰参数

当函数参数为final类型时,你可以读取使用该参数,但是无法改变该参数的值

public void nm(final int i) { 
                //i++;    //i是final类型的,值不允许改变的. 
                System.out.print(i); 

版权声明:本文为m0_48930261原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。