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

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 {@Testpublic 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.lryc.cn/news/210248.html

相关文章:

  • Clickhouse数据库部署、Python3压测实践
  • 探索控制领域:从电视遥控器到自动驾驶【基础概念理解、应用实例】
  • 在R中安装CmdStanR的步骤-R4.3.1-CmdStanR-0.6.1.900
  • 安信可小安派AiPi 代码下载
  • 程序化交易(二)level2行情数据源接入
  • 4.6 static修饰符
  • C++头文件定义变量
  • [蓝桥杯-610]分数
  • Vue指令大全:深入探索Vue提供的强大指令功能
  • x210项目重新回顾之十七升级到linux4.19.114 +buildroot2018再讨论
  • shell_56.Linux永久重定向
  • CN考研真题知识点二轮归纳(1)
  • hadoop使用简介
  • WebSocketClient objects are not reuseable
  • 分享54个ASP.NET源码总有一个是你想要的
  • 闭包通俗解释,Demo(Go Java Python)
  • Linux部署Redis Cluster高可用集群(附带集群节点添加删除以及槽位分配操作详解)
  • 【PWN · heap | Off-By-One】Asis CTF 2016 b00ks
  • C++STL---Vector、List所要掌握的基本知识
  • 使用FastAPI部署Ultralytics YOLOv5模型
  • A. Doremy‘s Paint 3
  • 深度学习_1 介绍;安装环境
  • Python基础入门例程19-NP19 列表的长度(列表)
  • LeetCode 2558. 从数量最多的堆取走礼物
  • 【JVM】字节码文件的组成部分
  • STM32 TIM(四)编码器接口
  • 力扣第56题 合并区间 c++ 贪心
  • php 日期
  • 食物链解读
  • Day10配置文件日志多线程