java面试官:兄弟简单谈谈Static、final、Static final各种用法吧
前言
对Static、final、Static final这几个关键词熟悉又陌生?想说却又不知怎么准确说出口?好的,本篇博客文章将简短概要出他们之间的各自的使用,希望各位要是被你的面试官问到了,也能从容的回答...
static
加载:static在类加载时初始化(加载)完成
含义:Static意为静态的,但凡被static 修饰说明属于类,不属于类的对象。
可修饰:Static 可以修饰 内部类、方法、成员变量、代码块
。
不可修饰:Static不可修饰外部类、局部变量
【static 属于类的,局部变量属于其方法,并不属于类】
注意:static
方法不能兼容this
关键字【static代表类层次,this代表当前类的对象】
引发问题:构造方法是静态方法吗?【不是,构造方法可以有this】
static主要作用:方便调用没有创建对象的方法/变量。
关于static,博主特地写了一篇博客,如果对final概念不是特别清晰,大家可以看看
final
加载:final可以在编译(类加载)时初始化,也可以在运行时初始化,初始化后不能被改变。
可修饰:类、内部类、方法、成员变量、局部变量、基本类型、引用类型
。
含义:final“最终的”的意思,在Java中又有意为常量的意思,也就是被final修饰的只能进行一次初始化!
被final修饰各种所蕴含的特殊意义:
1、 final 修饰基本类型:值不能被修改;
2、final 修饰引用类型:引用不可以被修改也就是说不能指向其他对象,但是该引用的对象内容可以被修改;
3、final 修饰 方法,方法不可以重写,但是可以被子类访问 【前提:方法不是 private 类型】。
4、final 修饰 类,类不可以被继承。
关于final,博主特地写了一篇博客,如果对final概念不是特别清晰,值得大家看看
Static final
含义:从字面也可以知道,它代表Static与final二者的共同体。
可修饰:依旧是取二者的共同体,所以只能修饰成员变量、方法、内部类
,被Static final修饰意义分别如下:
1、成员变量:属于类的变量且只能赋值一次。
2、方法:属于类的方法且不可以被重写。
3、内部类:属于外部类,且不能被继承
本篇文章只是简短概要它们之间的使用,希望各位要是被面试官问到了,也能从容的回答...若有不正之处,希望谅解并欢迎批评指正。
原文地址:https://www.cnblogs.com/yichunguo/p/11740681.html
- 如何通过Cloudera Manager配置Spark1和Spark2的运行环境
- 从CPU漏洞Meltdown&Spectre看侧信道攻击
- 如何使用Java连接Kerberos的Kafka
- 隐藏在Chrome插件商店中的恶魔——恶意插件User-Agent Swither分析
- 如何使用CDSW在CDH中分布式运行所有R代码
- 如何在CDH中使用HBase快照
- 中间件安全-Tomcat安全测试概要
- 如何在CDH集群使用HDFS快照
- Sentry赋予server1权限给hive以外用户时ACL不同步问题分析
- 如何使用Java连接Kerberos的HBase
- 香香的xss小记录(一)
- UAF Writeup - pwnable.kr
- 如何使用Nginx实现Impala负载均衡
- pwnhub年前最后一战——“血月归来”writeup
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- k8s代码走读---kube-controller-manager
- 我们一起学一学渗透测试——黑客应该掌握的HTML基础知识(一)
- 一套漏洞组合拳接管你的账号
- 我们一起学一学渗透测试——黑客应该掌握的HTML基础知识(二)
- 我用Paddle Lite在树莓派3b+上从零开始搭建“实时表情识别”项目
- mybatis-plus:自动填充功能
- 词义类比与全局词共现信息不可兼得?基于飞桨实现的GloVe说可以
- MyBatis-plus乐观锁插件
- Jmeter(十九) - 从入门到精通 - JMeter监听器 -上篇(详解教程)
- python---rsa加密根据指数和模生成加密参数模板
- 搞了这么多年终于知道接口和抽象类的应用场景了
- css实现页面加载动画
- 用Dota2“最强”算法PPO完成CarPole和四轴飞行器悬浮任务
- 【pyspark】广播变量のdestroy...
- Flink 参数配置和常见参数调优