当前位置:网站首页>内部类、static关键字、final
内部类、static关键字、final
2022-08-03 04:43:00 【lbsjdxsn】
final关键字:
final:最终、最后
1、一旦被它修饰变量,称为了常量
static final
final除了修饰常量外,也可以修饰方法或者类
2、如果final修饰了方法,该方法将无法被重写(override)
3、final关键字也可以修饰类,一旦某个类被final修饰,该类将断子绝孙,无法被继承。
面试题:为什么字符串使用final关键字
从设计安全上讲
- 确保它们不会在子类中改变语义。String类是final类,这意味着不允许任何人定义String的子类。换言之,如果有一个String的引用,它引用的一定是一个String对象,而不可能是其他类的对象。
- String 一旦被创建是不能被修改的。类加载器要用到字符串,不可变性提供了安全性,以便正确的类被加载。
从效率上讲
- 设计成final,JVM才不用对相关方法在虚函数表中查询,而直接定位到String类的相关方法上,提高了执行效率。
- Java设计者认为共享带来的效率更高,字符串常量池的出现实现共享,节约空间,提高效率。
内部类:
内部类,指的就是定义在某个类内部的类。
- 什么是内部类:
将类写在其他类的内部,可以写在其他的成员位置和其他类的局部位置,这时写在其他类内部的类就称为内部类。
- 什么时候使用内部类
在描述事物,若一个事物内部还包含其他可能包含的事物,比如在描述汽车时,汽车中还包含这发动机这个事物,这时发动机就可以使用内部类来描述。即就是内部事物必须寄宿在外部事物内部。
- 面试常见的问题
以下代码运行中,请注意如何访问对应的num变量
public class Test {
public static void main(String[] args) {
Outer.Inner in = new Outer().new Inner();
in.show();
}
}
class Outer {
int num = 5;// 外部类的成员变量
class Inner {
int num = 6;// 内部类的成员变量
void show() {
int num = 7; // 内部类局部变量
System.out.println("内部类局部num=" + num);
System.out.println("内部类成员num=" + this.num);
System.out.println("外部类成员num=" + Outer.this.num);
}
}
}
static关键字:
静态导包:
如果需要使用第一个静态方法,该方法需要导包,可以使用静态导包的方式,如果静态导入成功后,就可以直接使用静态方法的名称。
边栏推荐
- OSI的分层特点、传输过程与三次握手、四次挥手、tcp与udp包头的描述
- mysql bool盲注
- Tributyl-mercaptophosphane "tBuBrettPhos Pd(allyl)" OTf), 1798782-17-8
- GIS数据漫谈(五)— 地理坐标系统
- 移动流量的爆发式增长,社交电商如何选择商业模式
- 安装ambari
- 接口测试框架实战(三)| JSON 请求与响应断言
- Test drive: project management module - curd development project
- Super handy drawing tool is recommended
- OpenFOAM提取等职面并计算面积
猜你喜欢
接口测试如何准备测试数据
[Harmony OS] [ArkUI] ets development graphics and animation drawing
6.神经网络剖析
三丁基-巯基膦烷「tBuBrettPhos Pd(allyl)」OTf),1798782-17-8
Kotlin-Flow common encapsulation class: the use of StateFlow
9.新闻分类:多分类问题
私域流量时代来临,电商企业如何布局?
私域流量引流方法?分享购火爆的商业模式,你值得拥有
Bubble sort in c language structure
【HMS core】【Ads Kit】Huawei Advertising——Overseas applications are tested in China. Official advertisements cannot be displayed
随机推荐
MySql 创建索引
Jmeter 模拟多用户登录的两种方法
Fluorescent marker peptides FITC/AMC/FAM/Rhodamine TAMRA/Cy3 / Cy5 / Cy7 - Peptide
常见荧光染料修饰多种基团及其激发和发射波长数据一览数据
Flink state
数字化时代,企业如何建立自身的云平台与商业模式的选择?
【Harmony OS】【ARK UI】ets使用startAbility或startAbilityForResult方式调起Ability
js的垃圾回收机制
【Harmony OS】【ARK UI】ETS 上下文基本操作
好消息!北京、珠海PMP考试时间来啦
Modified BiotinDIAZO-Biotin-PEG3-DBCO|diazo-biotin-tripolyethylene glycol-diphenylcyclooctyne
获取Ip工具类
移动流量的爆发式增长,社交电商如何选择商业模式
社交电商:流量红利已尽,裂变营销是最低成本的获客之道
WinForm的控件二次开发
荧光标记多肽FITC/AMC/FAM/Rhodamine/TAMRA/Cy3/Cy5/Cy7-Peptide
8.电影评论分类:二分类问题
Where is the value of testers
探索性测试的概念及方法
WebSocket的实际应用