Java中关键字final和static比较

本文主要介绍针对Java关键字final和static,在类,方法,变量三个方便来比较这两个关键字使用的区别。

文章出自:Java中关键字final和static比较

final

final修饰的类
  • final修饰的类无法被继承,并且final类中的方法默认为final类型。一般用于类的设计,当不想类被继承确保安全时,可以使用final 修饰类。
final修饰的方法
  • final修饰的方法无法被重写(override),当想要保持父类方法无法被子类重写时,可使用final修饰父类方法。
final修饰的变量
  • final修饰的变量称为常量。存储在虚拟机的方法区中。final常量只能被赋值一次,一般显示在初始化时赋值,但也可以在之后赋值。final修饰引用时,引用恒定不变。但引用所对应的值确实可以改变的。也同样适用于数组。

static

static修饰的类
  • static静态类在类加载的时候便会被编译。用于静态内部类。只能访问静态方法和静态变量。
static修饰的方法
  • static静态方法不依赖于类对象。不需要通过类对象.方法名来调用方法,只需要使用类名.方法名就可以调用类的静态方法。静态方法中也只能调用静态方法和静态变量。
static修饰的变量
  • static静态变量存放在虚拟机的方法区中。单独分配一块内存地址用于存放static静态变量。在类初次被加载的时候会被初始化。
static代码块
  • 静态代码块在类加载的时候便会运行。可以将一些只需要执行一次的初始化动作放在static代码块中。

final和static总结

typestaticfinal
Class静态内部类无法被继承
function不依赖类对象无法被重写
variable单独分配一块内存,类加载时初始化。只能被赋值一次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值