Java final关键字

本文深入解析Java中final关键字的用法,包括修饰类、方法、成员变量及构造函数的规则,探讨其不可继承、不可重写及初始化特性,并强调final不能与abstract共存的原则。

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

1、修饰类, 不能被继承。

public final class Father{}
//ide 提示报错
public class Son extends Father{}

2、修饰方法,不能被重写,可以被重载

public class Father{
	public final void sayHello(){}
    public final void sayHello(String name){}//可以被重载
}
//IDE 提示报错,方法不能被重写
public Son extends Father{
    public void sayHello(){}
}

3、final 不能abstract 同时使用,IDE 提示有错误。

final abstract class Father{
    public final void sayHello(){}
}

abstract class Father{
    abstract final void sayHello();
}

4、final 修饰成员变量,要么在声明时赋值,要么构造函数中赋值

public class FinalDemo {
    private final String name = "leeon";//初始化
    private final String addr;

    public FinalDemo(){
        addr = "深圳";//初始化
    }
}

5、final 不能修饰构造器函数,IDE 提示错误

public class FinalDemo {
    public final FinalDemo(){}
}

6、final 修饰静态成员变量,要么在声明时赋值,要么静态初始化块中赋值

public class FinalDemo {
    static final String name = "leeon";//初始化
    static final String addr;
    static {
        addr = "深圳";//初始化
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值