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有"这是无法改变的"或者"终态的"含义, ...
随机推荐
- ChatGPT为何放弃WebSocket?揭秘EventSource的三大决胜优势
ChatGPT为何放弃WebSocket?揭秘EventSource的三大决胜优势 感觉本篇对你有帮助可以关注一下我的微信公众号(深入浅出谈java),会不定期更新知识和面试资料.技巧!!! Chat ...
- 关于HarmonyOS NEXT中的模块化开发
今天不写页面和动画,斗胆给大家讲一讲软件工程. 软件工程讲究高内聚低耦合,意思就是把整个工程按照分工不同分成不同的模块,每一个模块紧密联系又互不影响.就像一座摩天大楼,它里面的电路网非常庞大和复杂,它 ...
- Django批量创建Model实例
1.前言: 将测试数据全部敲入数据库非常繁琐,而且如果与合作伙伴一起开发,部署,那么他们肯定也不想把时间花在一个一个录入数据的繁琐过程中,这时候,创建一个批量录入数据的脚本(population sc ...
- 为何PostgreSQL没有聚集索引?解读两大数据库的设计差异
为何PostgreSQL没有聚集索引?解读两大数据库的设计差异 前言 高效的数据检索是数据库管理的基石, PostgreSQL和SQL Server都能提供强大的数据访问方法以支持各种工作负载方面表现 ...
- c++复习板子
数论 GCD 点击查看 B4025 最大公约数 gcd: 点击查看代码 #include<bits/stdc++.h> #define int long long using namesp ...
- 二叉排序树BST及CRUD操作
摘要 构造一颗二叉排序树(也叫二叉搜索树,BST,Binary Search Tree)十分简单.一般来讲,大于根节点的放在根节点的右子树上,小于根节点的放在根节点的左子树上(如果等于根节点,则可视情 ...
- Dispatch PDI v2.0.4即将发布,历经1000+用户装机验证,稳定版震撼来袭!
Dispatch PDI V2.0.4版本,即将登场! 亲爱的用户们: 在数据调度领域的探索之路上,我们始终致力于为大家提供更强大.更高效的工具.今天,我们怀着激动的心情宣布,Dispatch PDI ...
- 「Log」做题记录 2023.9.25-2023.10.29
\(2023.9.25-2023.10.1\) \(\color{limegreen}{P3524}\) 考虑删掉两个不相连的点,这两个点必定一个在团内一个在团外,删掉 \(\frac{n}{3}\) ...
- Java代码审计SpEL表达式注入
SpEL表达式概念 Spring Expression Language(SpEL) 是 Spring Framework 提供的一种功能强大的表达式语言,全称为 Spring Expression ...
- AI赋能文档创作:智能生成+云端下载,解锁高效办公新姿势
一.写在前面 本文重点介绍如何将AI智能生成文字直接转换为word文档,支持下载提升大家学习和职场办公的效率. 二.Pandoc-api 服务 Pandoc是一个功能强大的文档转换工具,支持多种文档格 ...