Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Java中使用final类?

在Java中使用final类?

提问于 2017-12-20 07:22:11
回答 2关注 0查看 350

我正在读一本关于Java的书,它说你可以声明整个类final。我想不出什么地方可以用这个。

我只是新的编程,我想知道如果程序员真的在他们的程序中使用它。如果他们这样做,他们什么时候使用它,所以我可以更好地理解它,知道何时使用它。

如果Java是面向对象的,并且你声明了一个类的最后一个,那么它不会阻止类具有对象特性的想法吗?

回答 2

心愿

发布于 2017-12-20 07:37:05

出于安全原因,当你想阻止类的继承时,final是重要的一个场景。这使您可以确保您正在运行的代码不能被某人覆盖。

另一个场景是优化:我似乎记得,Java编译器内嵌了来自最终类的一些函数调用。所以,如果你调用a.x()一个被声明的final,我们知道在编译时代码将是什么,并可以内联到调用函数。我不知道这是否实际完成,但最终是可能的。

秋之夕颜清

发布于 2017-12-20 07:36:56

在Java中,final修饰符的项目是不能更改的!

这包括最终的类,最终变量和最终的方法:

  • 最后一堂课不能被任何其他课程延伸
  • 最后一个变量不能被重新分配给另一个值
  • 最后的方法不能被覆盖
和开发者交流更多问题细节吧,去 写回答
相关文章
在python中实现final类
当然要利用下metaclass做手脚啦 class Final(type): def __new__(cls, name, bases, classdict): for b in bases: if isinstance(b, Final): raise TypeError("type '{0}' is Final type".format(b.__name__)) return type.__new__(cls
超级大猪
2019/11/21
3.1K0
在java中String类为什么要设计成final?
String很多实用的特性,比如说“不可变性”,是工程师精心设计的艺术品!艺术品易碎!用final就是拒绝继承,防止世界被熊孩子破坏,维护世界和平!
用户1205080
2018/09/12
1.2K0
在java中String类为什么要设计成final?
在java中String类为什么要设计成final?
final的出现就是为了为了不想改变,而不想改变的理由有两点:设计(安全)或者效率。
一觉睡到小时候
2019/07/02
9910
在java中String类为什么要设计成final?
java学习之路:27.final变量,final方法,final类
final关键字可用于变量声明,一旦改变了被设定,就不可以再改变该变量的值。通常,由final定义的变量为常量。 final关键字定义的变量必须在声明时对其进行赋值操作,final除了可以修饰基本数组类型的常量,还可以修饰对象引用。
花狗Fdog
2020/10/28
1.1K0
在java中String类为什么要设计成final?Java面试常见问题
其实在Java中,String类被final修饰,主要是为了保证字符串的不可变性,进而保证了它的安全性。那么final到底是怎么保证字符串安全性的呢?接下来就让我们一起来看看吧。
IT千锋教育
2023/05/24
4620
在java中String类为什么要设计成final?Java面试常见问题
final关键字在PHP中的使用
final关键字的使用非常简单,在PHP中的最主要作用是定义不可重写的方法。什么叫不可重写的方法呢?就是子类继承后也不能重新再定义这个同名的方法。
硬核项目经理
2020/02/26
2.6K0
java中final的意义
转载自 https://blog.csdn.net/hikvision_java_gyh/article/details/8964541
allsmallpig
2021/02/25
3200
通过Java反射机制修改Java类中final类型变量的值
Field demo1List = demo1Class.getDeclaredField("list");
用户7886150
2020/12/03
1.9K0
Java 抽象类与final用法
 抽象类: 基于继承 抽象类和抽象方法的定义 父类的意义:  把子类共有的属性,抽取出来,达到代码的重用 抽象类不可被实例化 使用抽象类,限制实例化(只有派生类能实例化,父类不能实例化)  关键字:abstract  每个子类的实现不同 abstract也可用于方法---抽象方法  抽象方法没有方法体  抽象方法必须在抽象类里  抽象方法必须在子类中被实现,除非子类是抽象类(可以不实现) (抽象类没有方法体) 抽象方法的使用:  1)父类没有必要实例化,采用将父类定义成抽象类型  2)抽象类中的方法未必都
房上的猫
2018/03/14
8810
Java中final关键字(Java)
关键字概述 final 关键字声明类可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写 可以用来修饰:类,方法,变量 修饰类 final class 类名 {//类体} 被final修饰的类是最终类,没有后代,不能被继承 //最终类 public final class Person { ......... } 修饰变量 final int abc = 12; final int MAX_ABC = 120; 被final修饰的变量是称为常量,不能被修改 java中被final修
用户9006224
2022/12/21
7050
Java中final关键字(Java)
java中final变量的用法
final变量的数值不能在初始化之后进行改变(你希望a=3,有很多用到a的场合, 你当然不能在程序中就用3来代替a)。
马克java社区
2021/03/04
6890
java中final变量的用法
常见Java面试题 抽象类能使用 final 修饰吗?
不能。 定义抽象类就是让其他类继承的,如果定义为 final 该类就不能被继承,这样彼此就会产生矛盾,所以 final 不能修饰抽象类。 可以自己试试,一般的编译器也会提示错误的。
红目香薰
2022/11/28
2020
Java中final、finally、finalize的区别
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例如关闭文件等。
week
2018/08/24
2020
匿名类中在Json中使用
匿名类 1. 第一步:定义一个类,类中有三个属性Id。Name.Height 属性类型根据“=”右边的值来推断 2. 第二步:创建这个类的对象,然后,用变量p1去指向它 3. var 表示根据右边的类型去推断var的类型
静心物语313
2020/03/24
3.6K0
匿名类中在Json中使用
初级JAVA:String类为什么是final的?
被final修饰的类不能被继承,即它不能拥有自己的子类;被final修饰的方法不能被重写;final修饰的变量,无论是类属性、对象属性、形参还是局部变量,都需要进行初始化操作。类属性可以理解为一个将一个类作为另一个类的属性。
葆宁
2022/05/06
3650
初级JAVA:String类为什么是final的?
Java中Scanner类的使用
设A级为85分以上(包括85);B级为70分以上(包括70分);C级为60分以上(包括60分);D级为60分以下。
算法与编程之美
2023/01/03
9510
Java中Scanner类的使用
Java 中枚举类的使用
在日常写项目时,很多数据字典常量都需要定义和使用,同时在 Java 面试中,枚举也是一个绕不开的话题,这篇文章就来详细介绍一下枚举的定义以及使用。 01  【什么是枚举类?】 枚举类型在 C# 或 C++ 、 java 、 VB 等一些编程语言中是一种基本数据类型而不是构造数据类型。 而在C语言中则是一种构造数据类型。它用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。 枚举类的定义就是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内,使用枚举可以很方便地定义数据常量
老九君
2022/09/02
1.9K0
Java 中枚举类的使用
Java中的Reference类使用
Java 2 平台引入了 java.lang.ref 包,这个包下面包含了几个Reference相关的类,Reference相关类将Java中的引用也映射成一个对象,这些类还提供了与垃圾收集器(garbage collector)之间有限的交互。
huofo
2022/03/17
8080
JAVA编程基础(六) 在Java类中添加方法
在第五节中展示的getter、setter方法我们也叫访问器方法(迅速温故:getter方法是返回指定属性值的的方法,setter方法是可以设置(修改)指定属性的方法)。封装一个类的实例对象的数据,你需要声明其属性变量为private,然后提供访问器方法。
青山师
2023/05/04
1.1K0
java关键字final的使用
Java中的关键字final用于表示一个值或引用在程序执行过程中是不可变的。final可以用来修饰类、方法和变量,每种用法有不同的含义和作用。
玖叁叁
2023/05/11
2940

相似问题

redis的工具类在java中怎么配置?

079

final关键字的工作原理?

2745

如何从Java中的多个基类继承?

2226

Java类的变量shadowing有什么作用?

2578

final、finally、finalize这三个关键字的区别是什么?

1188
相关问答用户
某公司 | 程序员擅长1个领域
新浪微博 | 高级总监擅长4个领域
擅长2个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档