static关键字与final关键字区别

本文详细解析了static和final关键字在Java中的作用与使用场景。static关键字可用于修饰属性、方法、代码块及内部类,强调与类而非实例的关联;final则用于确保变量、类或方法的不可变性,防止继承与重写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

static作用:
1.修饰属性
static关键字修饰的属性为静态属性,与类相关,与类的实例无关,一个类的不同实例共享一个静态属性,访问方式为类.属性

2.修饰方法
被static修饰的方法称为静态方法,不能被重写

  • 静态方法与类相关,与类的实例无关
  • 可以直接调用静态方法,无需创建具体实例,类.方法
  • 静态方法可以访问静态数据,并可以更改静态数据,静态方法不能访问非静态数据成员,更无法修改非静态数据成员的值,静态方法不能调用非静态方法

3.修饰代码块
用于初始化静态成员属性

4.修饰类(修饰的类只能是内部类,普通类不能用static关键字修饰

final作用
1.final修饰的变量在程序运行过程中不能被修改(常量)

2.final修饰的类不能被继承,类中的方法默认也是final的,不能被重写

3.final修饰的方法不能被重写,能被重载,父类不允许子类重写父类中被final关键字修饰的方法

4.final修饰的对象的引用不能改变,但是对象的值可以改变

5.final不能用来修饰抽象类和接口,因为抽象类的目的就是继承

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值