java中final关键字的使用
1 :在java中final可以修饰类,方法,变量(包括成员变量和局部变量)
- 第一点:修饰类 特点:修饰的类不能被继承而且成员变量也是可以根据自己需要设置fianl
- 但final类中的所有成员方法都会被隐式地指定为final方法(不是特殊要求尽量不要加final关键字在类上)
- final 类不能被继承,没有类能够继承 final 类的任何特性。。
fianl class test{
}- 第二点:fianl在方法上 特点:把方法锁定,以防任何继承类修改它的含义(如果禁止该方法在子类中被覆盖的情况下才将方法设置为final的,就可以使用fianl关键字来修饰。)
public final void a(){
System.out.println("如果禁止该方法在子类中被覆盖的情况下才将方法设置为final的)\n" +
"就是父类的final方法是不能被子类所覆盖的,也就是说子类是不能够存在和父类一模一样的方法的。就可以使用fianl关键字来修饰");
}- 第三点:修饰变量 特点: 当final修饰一个基本数据类型时,表示该基本数据类型的值一旦在初始化后便不能发生变化;
final String zhi=“这个值被fianl修饰就不能再改变”;
- 如果final修饰一个引用类型时,则在对其初始化之后便不能再让其指向其他对象了,但该引用所指向的对象的内容是可以发生变化的。
- 因为fianl修饰的引用类型 它可以改变里面的内容 因为fianl修饰是指向它的地址 只要他的地址不改变。
public class Time {
public static void main(String[] args) {
final Test1 test = new Test1();
System.out.println(--test.i);
}
}
class Test1 {
public int i = 100;
}
java中final关键字的使用的更多相关文章
- Java中final关键字修饰变量、方法、类的含义是什么
Java中的关键字final修饰变量.方法.类分别表示什么含义? 先看一个简单的介绍 修饰对象 解释说明 备注 类 无子类,不可以被继承,更不可能被重写. final类中的方法默认是final的 方法 ...
- java中final 关键字的作用
final 关键字的作用 java中的final关键字可以用来声明成员变量.本地变量.类.方法,并且经常和static一起使用声明常量. final关键字的含义: final在Java中是一个保留的关 ...
- 关于Java中final关键字的详细介绍
Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使 ...
- java中final关键字的使用方法
[java中为什么会有final变量]: final这个关键字的含义是"这是无法改变的"或者"终态的": 那么为什么要阻止改变呢? java语言的发明者可 ...
- 关于java中final关键字与线程安全性
在Java5中,final关键字是非常重要而事实上却经常被忽视其作为同步的作用.本质上讲,final能够做出如下保证:当你创建一个对象时,使用final关键字能够使得另一个线程不会访问到处于" ...
- java 中final关键字
1.final变量,一旦该变量被设定,就不可以再改变该变量的值. final关键字定义的变量必须声明时赋值.一旦一个对象引用被修饰为final后,它只能恒定指向一个对象,一个既是static和fina ...
- Java中final关键字概述
使用final修饰过的变量都不可以改变: 1.final修饰变量 恒定不变的属性,可以用final关键字来修饰: 变量名建议全部使用大写 final修饰的变量不能改变,如果程序中重新赋值,编译报错 例 ...
- 解析Java中final关键字的各种用法
首先,我们可以从字面上理解一下final这个英文单词的中文含义:“最后的,最终的; 决定性的; 不可更改的:”.显然,final关键词如果用中文来解释,“不可更改的”更为合适.当你在编写程序,可能会遇 ...
- JAVA中final关键字的作用
一.final关键字的功能概述 final关键字可以用来修饰引用.方法和类. 1.用来修饰一个引用 如果引用为基本数据类型,则该引用为常量,该值无法修改: 如果引用为引用数据类型,比如对象.数组,则该 ...
- java中final关键字
一.final修饰方法 禁止任何继承类修改它的定义,保证在继承中使方法行为保持不闲并且不会被覆盖. final修饰的方法,同意编译器针对该方法的调用转为内嵌调用.(类似c++ 中的inline?) p ...
随机推荐
- RabbitMQ保姆级教程最佳实践
一.消息队列介绍 1.消息队列概念 1.MQ全称为Message Queue,消息队列(MQ)是⼀种应⽤程序对应⽤程序的通信⽅法. 应⽤程序通过读写出⼊队列的消息(针对应⽤程序的数据)来通信,⽽⽆需专 ...
- 探索Lighthouse性能分数计算背后的奥秘
作为开发我们都知道,页面性能很重要,一个性能良好的页面可以给用户带来非常好的用户体验.那么,怎么能知道自己写的页面性能是好是坏呢? Lighthouse 是Chrome提供给开发者用来测量页面性能的工 ...
- CefSharp自定义滚动条样式
在WinForm/WPF中使用CefSharp混合开发时,通常需要自定义滚动条样式,以保证应用的整体风格统一.本文将给出一个简单的示例介绍如何自定义CefSharp中滚动条的样式. 基本思路 在前端开 ...
- 基于Spring事件驱动模式实现业务解耦
事件驱动模式 举个例子 大部分软件或者APP都有会有会员系统,当我们注册为会员时,商家一般会把我们拉入会员群.给我们发优惠券.推送欢迎语什么的. 值得注意的是: 注册成功后才会产生后面的这些动作: 注 ...
- Arduino Uno Rev3
Overview Arduino Uno is a microcontroller board based on the ATmega328P (datasheet). It has 14 digit ...
- 11G RAC 11.2.0.1.0实例evict故障处理
Aix 7.1 参考文档: https://blogs.oracle.com/database4cn/rac Resolving ORA-481 and "terminating the i ...
- 实验四报告: 熟悉Python字典、集合、字符串的使用
实验目标 本实验的主要目标是熟悉Python中字典.集合.字符串的创建和操作,包括字典的创建.访问.修改和合并,集合的创建.访问以及各种集合运算,以及字符串的创建.格式化和常用操作. 实验要求 通过编 ...
- inventory 主机清单
inventory 主机清单 //Inventory支持对主机进行分组,每个组内可以定义多个主机,每个主机都可以定义在任何一个或多个主机组内. //如果是名称类似的主机,可以使用列表的方式标识各个主机 ...
- QT中级(1)QTableView自定义委托(一)实现QSpinBox、QDoubleSpinBox委托
1 写在前面的话 我们在之前写的<QT(7)-初识委托>文章末尾提到,"使用一个类继承QStyledItemDelegate实现常用的控件委托,在使用时可以直接调用接口,灵活实现 ...
- mysql 实用语句
-- 查询内存大小 SELECT TABLE_NAME, concat( TRUNCATE (data_length / 1024 / 1024, 2), ' MB' ) AS data_size, ...