当前位置: 首页 > article >正文

4.5 final修饰符

在Java中,final修饰符可以修饰类、属性和方法,final有“最终”、“不可更改”的含义,所以在使用final关键字时需要注意以下几点:

  • 使用final修饰类,则该类就为最终类,最终类不能被继承。

  • 使用final修饰方法,则该方法不能被子类覆盖。

  • 使用final修饰变量的变量是常量,常量不可修改。

1. final修饰类

使用final修饰类,则该类就为最终类,最终类不能被继承。

public final class Person {
    
}

由abstract修饰的类是需要被继承的,而由final修饰的类是不能被继承的,所以final和abstract不能在定义类时同时使用。

2. final修饰方法

使用final修饰方法,则该方法不能被子类覆盖。

public class Person {

    public final void hello(){
        System.out.println("hello");
    }

}

3. final修饰变量

使用final修饰变量,可以修饰基本类型和引用类型。

基本类型,表示基本变量数据值不能改变,只能一次赋值以后不能被修改。

引用类型,引用类型地址值不能再改变,即不能再次执行new操作;引用类型的值可以改变。

public class TestDemo {
    @Test
    public void test(){
        //final修饰基本类型,只能一次赋值以后不能被修改
        final int num;
        num = 1;        //等价于final int num = 1;
        System.out.println(num);
        // num = 2; 异常

        //final修饰引用类型,引用类型地址值不能再改变,即不能再次执行new操作;引用类型的值可以改变。
        final int[] nums = new int[2];
        nums[0] = 1;
        nums[1] = 2;
        System.out.println(nums[0]);
        System.out.println(nums[1]);
        nums[0] = 3;
        nums[1] = 4;
        System.out.println(nums[0]);
        System.out.println(nums[1]);
        // nums = new int[3]; 异常
    }
}


http://www.kler.cn/a/108199.html

相关文章:

  • C语言 | Leetcode C语言题解之第557题反转字符串中的单词III
  • 文件输入输出——NOI
  • Could not initialize class sun.awt.X11FontManager
  • java八股-jvm入门-程序计数器,堆,元空间,虚拟机栈,本地方法栈,类加载器,双亲委派,类加载执行过程
  • Django基础用法+Demo演示
  • 性能优化、安全
  • hive使用中的参数优化与问题排查
  • Kafka KRaft模式探索
  • 【unity小技巧】unity排序问题的探究
  • 如何使用 Rask AI 进行视频本地化
  • 腾讯云和阿里云双11优惠大战,服务器价格相差1块钱?
  • laravel+vue2 element 一套项目级医院手术麻醉信息系统源码
  • python实现ModBusTCP协议的server
  • 【vtk学习笔记1】编译安装vtk9.2.6,运行官方例子
  • 如何在linux服务器上安装Anaconda与pytorch,以及pytorch卸载
  • TextureView和SurfaceView
  • 【Python 算法】信号处理通过陷波滤波器准确去除工频干扰
  • localhost知识
  • iMazing2024年最新许可证-iMazing许可证激活补丁
  • UE5实现相机水平矫正
  • 基于数字电路交通灯信号灯控制系统设计-单片机设计
  • 什么是三元表达式?
  • 【机器学习】项目数据处理部分
  • 利用Linux socat快速搭建TCP服务器
  • 基于springboot环保话题管理系统-计算机毕设 附源码 28550
  • 【黑产攻防道03】利用JS参数更新检测黑产的协议破解