Java面试(static 关键字)(final关键字)

简介: static 关键字,final关键字

static

static 是 Java 中⾮常重要的关键字,static 表示的概念是 静态的 ,在 Java 中,static 主要⽤来

  1. 修饰变量,static 修饰的变量称为 静态变量 、也称为 类变量 ,类变量属于类所有,对于不同的类来说,static 变量只有⼀份,static 修饰的变量位于⽅法区中;static 修饰的变量能够直接通过类名.变量名 来进⾏访问,不⽤通过实例化类再进⾏使⽤。
  2. 修饰⽅法,static 修饰的⽅法被称为 静态⽅法 ,静态⽅法能够直接通过 类名.⽅法名 来使⽤,在静态⽅法内部不能使⽤⾮静态属性和⽅法static 可以修饰代码块,主要分为两种,⼀种直接定义在类中,使⽤ static{} ,这种被称为 静态代码块 ,⼀种是在类中定义 静态内部类 ,使⽤ static class xxx 来进⾏定义。
  3. static 可以⽤于静态导包,通过使⽤ import static xxx 来实现,这种⽅式⼀般不推荐使⽤
  4. static 可以和单例模式⼀起使⽤,通过双重检查锁来实现线程安全的单例模式。

final

final 是 Java 中的关键字,它表示的意思是 不可变的 ,在 Java 中,final 主要⽤来

修饰类,final 修饰的类不能被继承,不能被继承的意思就是不能使⽤ extends 来继承被 final 修饰的类。

  1. 修饰变量,final 修饰的变量不能被改写,不能被改写的意思有两种,对于基本数据类型来说,final修饰的变量,其值不能被改变,final 修饰的对象,对象的引⽤不能被改变,但是对象内部的属性可以被修改。final 修饰的变量在某种程度上起到了 不可变 的效果,所以,可以⽤来保护只读数据,尤其是在并发编程中,因为明确的不能再为 final 变量进⾏赋值,有利于减少额外的同步开销。
  2. 修饰⽅法,final 修饰的⽅法不能被重写。
  3. final 修饰符和 Java 程序性能优化没有必然联系
相关文章
|
10天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
39 2
|
15天前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
20天前
|
存储 缓存 Oracle
Java I/O流面试之道
NIO的出现在于提高IO的速度,它相比传统的输入/输出流速度更快。NIO通过管道Channel和缓冲器Buffer来处理数据,可以把管道当成一个矿藏,缓冲器就是矿藏里的卡车。程序通过管道里的缓冲器进行数据交互,而不直接处理数据。程序要么从缓冲器获取数据,要么输入数据到缓冲器。
Java I/O流面试之道
|
17天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
41 4
|
18天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
64 4
|
25天前
|
存储 Java
Java 中的静态(static)
【10月更文挑战第15天】静态是 Java 语言中一个非常重要的特性,它为我们提供了一种方便、高效的方式来管理和共享资源。然而,在使用过程中,我们需要谨慎考虑其优缺点,以确保代码的质量和可维护性。
|
28天前
|
算法 Java
JAVA 二叉树面试题
JAVA 二叉树面试题
17 0
|
3月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
1月前
|
算法 Java 数据中心
探讨面试常见问题雪花算法、时钟回拨问题,java中优雅的实现方式
【10月更文挑战第2天】在大数据量系统中,分布式ID生成是一个关键问题。为了保证在分布式环境下生成的ID唯一、有序且高效,业界提出了多种解决方案,其中雪花算法(Snowflake Algorithm)是一种广泛应用的分布式ID生成算法。本文将详细介绍雪花算法的原理、实现及其处理时钟回拨问题的方法,并提供Java代码示例。
73 2
|
1月前
|
JSON 安全 前端开发
第二次面试总结 - 宏汉科技 - Java后端开发
本文是作者对宏汉科技Java后端开发岗位的第二次面试总结,面试结果不理想,主要原因是Java基础知识掌握不牢固,文章详细列出了面试中被问到的技术问题及答案,包括字符串相关函数、抽象类与接口的区别、Java创建线程池的方式、回调函数、函数式接口、反射以及Java中的集合等。
31 0
下一篇
无影云桌面