Java-Static&final

本文介绍了Java中的static和final关键字,包括它们的作用、区别、调用机制以及在类、方法和变量中的应用,特别强调了final变量的不可变性和在初始化时的约束。
摘要由CSDN通过智能技术生成

Java-Static&final

static关键字

概述

修饰词

  • 被修饰的方法/属性可被继承 ;
  • 不可被覆盖&重载。
    • 覆盖发生在运行期间绑定;
    • 静态方法和属性在编译阶段和类进行了绑定。

覆盖关注于实例方法,而实例方法的调用在运行时确定。

静态方法和属性关注于类本身,因此在编译时已经确定了调用。

所以,可以将这两个概念视为两种不同的调用机制,一种在运行时确定,另一种在编译时确定。

导包

  • 静态导包可以直接调用包中的方法

**final static **

  • 不可修改的全局变量。

场景

  • 代码在项目启动时候就执行需要放在静态代码块中,而且这种执行是主动执行的。
  • 在不创建对象的情况下执行一个方法,可以采用静态方法。

静态方法静态变量在使用的时候需要注意什么?

final


修饰词

  • final修饰类:不可被继承(默认类中方法也是final类型)
  • final修饰方法:不可被覆盖,可被重载。
  • final修饰成员变量:表示常量,只能赋值一次,而且不可更改。

场景

  • 接口中的变量都必须使用final关键字修饰;
  • 而且是public static 修饰的 ;因为接口中的变量是当作常量来设计的。

在 Java 中,final 关键字用于声明一个不可变的变量,或者一个只能被赋值一次的变量。有两种情况下 final 类型的对象会被赋值:

  1. 在声明时赋初值: 在声明 final 变量的同时,可以直接为它赋初值。一旦赋予初值,就不能再对这个变量进行重新赋值。
final int x = 10;  // 在声明时赋初值

  1. 在构造方法中赋值: 对于 final 类型的实例变量,可以在构造方法中进行赋值。一旦在构造方法中对 final 实例变量赋值,就不能再次对其进行修改。
public class MyClass {
    final int y;

    public MyClass(int yValue) {
        this.y = yValue;  // 在构造方法中赋值
    }
}

在这两种情况下,一旦 final 类型的变量被赋值,就不能再修改其值。这有助于确保变量在使用过程中保持不变性,提高代码的可读性和安全性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码匠心印记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值