final、static、static final 总结

本文详细介绍了Java中的关键字final、static和static final的用法。final用于声明不可变的变量、方法和类,防止被修改或继承。static则用于声明类级别的变量和方法,不依赖于对象实例。static final结合使用,常用于定义全局常量,确保其在编译时被初始化且不可更改。此外,还讲解了它们在静态变量、静态方法、静态内部类以及静态导包等方面的应用。
摘要由CSDN通过智能技术生成

1. final

final 主要用在3个地方:变量、方法、类。

  1. final 用在变量上
    ① 这个变量必须在构造对象时就初始化。
    ③ 如果是基本数据类型的变量,那么这个变量的值一旦初始化之后就不能修改了,相当于是一个常量了。
    ④ 如果是引用类型的变量,则其初始化之后,就不能修改它的引用了,不过引用上的对象本身的值还是可以修改的。

  2. final 用在方法上
    ① 表明这个方法不能被子类重写,防止子类修改它的含义。
    ② private 方法会被隐式的指定为 final 。

  3. final 用在类上
    ① 表明这个类不能被继承。
    ② final 类中的所有成员方法都会被隐式的指定为 final 方法。

2. static

static 主要用在 5 个地方:静态变量,静态方法,静态代码块,静态内部类,静态导包。(static 不能修饰外部类。)

  1. 静态变量
    静态变量也称为类变量,整个类只有一个这样的变量,该类的所有实例都共享这一个静态变量,可以通过类名来直接访问静态变量(类名.静态变量名)。每个静态变量在内存中只存一份。对于非静态变量,每个对象实例都会有自己单独的一份,随着对象实例一起创建和销毁。

  2. 静态方法
    ① 静态方法是不在对象上执行的方法,比如 Math.pow(x, a); 这个调用不需要 Math 对象,或者说没有隐式参数。
    ② 静态方法在类加载的时候就存在了&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值