13Java基础之final关键字、常量详解
final关键字
- final关键字是最终的意思,可以修饰(类、方法、变量)
- 修饰类:该类被称为最终类,特点是不能被继承了。例如工具类。
- 修饰方法:该方法被称为最终方法,特点是不能被重写了。
- 修饰变量:该变量只能被赋值一次。
java中的变量分为两种:
- 成员变量
- 静态成员变量
- 实例成员变量 - 局部变量:方法内,形参,for循环变量,构造器中的变量都是局部变量。
fianl修饰变量的注意:
- final修饰基本类型的变量,变量存储的数据不能被改变。
- final修饰引用类型的变量,变量存储的地址不能被改变,但地址所指向对象的内容是可以被改变的。
案例:
public class FinalDemo01 {
// 5. final修饰成员变量
// static + final修饰的变量,称之为常量,一般用大写字母表示。值只有一个,而且不能被修改。
public static final String NAME = "二小";
// 6. fianl修饰实例成员变量(没有意义)
private final String name = "高秀兰";//没有意义!
public static void main(String[] args) {
// 3. final修饰变量,有且只能被赋值一次。
final int a = 10;
// a = 14; //报错,final修饰的变量不能被修改
}
// 4. final修饰局部变量
// 购买手机,折扣不能修改,只能参数使用final修饰
public static void buy(final double z){
System.out.println("买手机打" + z + "折!");
}
// 1.final修饰类,不能不继承
//final class A{ }
//class B extends A{ } //报错,不能继承
// 2.final修饰方法,方法不能被重写
class C{
public final void print(){
System.out.println("我是父类");
}
}
class D extends C{
// @Override
// public void print(){
// System.out.println("我是子类");
// }
}
}
常量详解
- 使用了static fianl修饰的成员变量就称为常量。
- 作用:通常用于记录系统的配置信息
注意:常量名的命名规范:建议使用大写英文字母单词,多个单词使用下划线连接起来。
使用常量记录系统配置信息的优势、执行原理
- 代码可读性更好,可维护行业更好。
- 程序编译后,常量会被"宏替换":出现常量的地方会被替换成其记住的字面量,这样可以保证常量和直接用字面量的性能是一样的。
案例:
参数类:
public class Consrant {
public static final String SCHOOL_NAME = "清华大学";
}
main方法:
// 目标:搞清楚常量的作用:做系统的配置信息
public class FinalDemo02 {
public static void main(String[] args) {
System.out.println(Consrant.SCHOOL_NAME);
System.out.println(Consrant.SCHOOL_NAME);
System.out.println(Consrant.SCHOOL_NAME);
System.out.println(Consrant.SCHOOL_NAME);
}
}
13Java基础之final关键字、常量详解的更多相关文章
- java final关键字的详解
final可以修饰成员变量.局部变量.方法.和类 1.final修饰成员变量时,必须在定义时初始化或者在构造方法中初始化 表示该成员变量无法在该类中被更改,但是可以被继承.如果子类不再定义相同名字的成 ...
- “全栈2019”Java第六十二章:接口与常量详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Java并发关键字Volatile 详解
Java并发关键字Volatile 详解 问题引出: 1.Volatile是什么? 2.Volatile有哪些特性? 3.Volatile每个特性的底层实现原理是什么? 相关内容补充: 缓存一致性协议 ...
- ava下static关键字用法详解
Java下static关键字用法详解 本文章介绍了java下static关键字的用法,大部分内容摘自原作者,在此学习并分享给大家. Static关键字可以修饰什么? 从以下测试可以看出, static ...
- Docker 基础技术之 Linux cgroups 详解
PS:欢迎大家关注我的公众号:aCloudDeveloper,专注技术分享,努力打造干货分享平台,二维码在文末可以扫,谢谢大家. 推荐大家到公众号阅读,那里阅读体验更好,也沉淀了很多篇干货. 前面两篇 ...
- 基础 | batchnorm原理及代码详解
https://blog.csdn.net/qq_25737169/article/details/79048516 https://www.cnblogs.com/bonelee/p/8528722 ...
- Struts2常量详解
-----------------siwuxie095 Struts2 常量详解 Struts2 的常量大多在默认的配置文件中已经配置好,但根据 用户需求和开发要求的不同,可能需要修改这些常量值,修改 ...
- Java工程师 基础+实战 完整路线图(详解版)
Java工程师 基础+实战 完整路线图(详解版) Java 基础 Java 是一门纯粹的面向对象的编程语言,所以除了基础语法之外,必须得弄懂它的 oop 特性:封装.继承.多态.此外还有泛型.反射 ...
- 《Java基础——break与continue用法详解》
Java基础--break与continue用法详解 1. break语句: 规则: 1. 仅用于循环语句和switch语句当中,用于跳出循环. 2. 当只有一层循环时,则直接跳出循环,不 ...
- java 关键字final static native详解
java 关键字native static final详解 一.final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义, ...
随机推荐
- Axure RP医疗在线挂号问诊原型图医院APP原形模板
Axure RP医疗在线挂号问诊原型图医院APP原形模板 医疗在线挂号问诊Axure RP原型图医院APP原形模板,是一款原创的医疗类APP,设计尺寸采用iPhone13(375*812px),原型图 ...
- ShadowSql之开源不易
ShadowSql集本人以前为公司内部开发的ORM之众长 再次进化而来,性能更好也更通用 其一.历时3个多月,已经发布了8个版本 在此期间深感做个开源项目非常的不易 好在现在本人想要的功能基本都已经开 ...
- Python模块的搜索路径
在Python中,模块搜索路径是指解释器用来查找导入模块的位置列表.了解和掌握Python模块搜索路径对于正确导入模块和管理模块的位置至关重要. Python模块搜索路径的主要来源包括当前目录.Pyt ...
- Special Binary String——LeetCode进阶路
原题链接https://leetcode.com/problems/special-binary-string/ 题目描述 Special binary strings are binary stri ...
- 202402 湖北武汉 4D3N3P
202402 湖北武汉 4D3N3P D0 / 10 杭州出发 普速列车25T Z47 杭州-武昌 城站22:22开 第3候车室 这趟列车是武汉局"华东三直"中的其中一列,另外两列 ...
- Git 查看 tag 标签详解
摘要:介绍git中tag标签的使用方法,包括创建标签.提交标签.查询标签和删除标签等. 我们拿到一个即将投产的标签后,需要确认标签是否打在了正确的分支,故需要查看标签的详情信息,保证顺利上线.基于此背 ...
- DrissionPage.errors.WrongURLError 无效的url,也许要加上"http://"?
DrissionPage是个强大的工具,使用DrissionPage 读取本地html 报了这个错:"DrissionPage.errors.WrongURLError 无效的url,也许要 ...
- 2023人形全能赛体操机器人uno代码
uno // @Author : Hcm #include <SoftwareSerial.h> // 软串口 #include <LobotServoController.h> ...
- 综述论文解读:Editing Large Language Models: Problems, Methods, and Opportunities
本文为大语言模型知识编辑综述,发表于自然语言处理顶会ACL(原文链接).由于目前存在广泛的模型编辑技术,但一个统一全面的分析评估方法,所以本文: 1.对LLM的编辑方法进行了详尽.公平的实证分 ...
- Pod原理以及Pod生命周期
一.Pod的介绍 1.为什么需要Pod? 假设 Kubernetes 中调度的基本单元就是容器,对于一个非常简单的应用可以直接被调度直接使用,没有什么问题,但是往往还有很多应用程序是由多个进程组成的, ...