Java final关键字使用详解

Java final关键字

final 关键字可以 修饰 类、变量、方法
final可以翻译为最终的,不可变的

1.final 修饰类

被final修饰的类不可以被继承
如果确定这个类不想被其它类继承,那么使用final关键字修饰就好
在这里插入图片描述
如果要继承一个被final修饰的类,IDE就会报出 无法从最终的’demo01.Father’继承 的错误。

2.final 修饰变量

被final修饰的变量不可以被修改,且只能被赋值一次

局部变量

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
修改一个被final修饰的局部变量,IDE会报出 无法为最终变量“ x”分配值 的错误。

成员变量

直接赋值
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
使用构造方法进行赋值(两种方式)
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

【tips】

被final修饰的变量,不论使用哪种方式,都只能被赋值一次,且赋值后,变为只读状态,不可更改

3.final 修饰方法

被final修饰的方法不可以被子类重写
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
如果要子类要重写一个被final修饰的类,IDE就会报出 'num()‘无法覆盖’demo01.Father’中的’num()’;覆盖的方法是最终的 的错误。

4.扩展知识

final修饰的对象地址值是不可变的,但是对象中指向的内容是可以改变的

class Student{
     
     
   int num = 5;
}
public class Demo02 {
     
     
   public static void main(String[] args) {
     
     
       final Student s = new Student();
       System.out.println(++s.num);//打印结果为:6
   }
}

猜你喜欢

转载自blog.csdn.net/weixin_44580492/article/details/106715484