java基础-final关键字

final关键字:final可以修饰属性、方法、类。
final修饰类:当一个类被 final所修饰时,表示该类是一个终态类,即不能被继承
final修饰方法:当一个方法被 final所修饰时,表示该方法是一个终态方法,即不能被重写(Override)。
final修饰属性:当一个属性被 final所修饰时,表示该属性不能被改写。当 final修饰一个原生数据类型时,表示该原生数据类型的值不能发生变化(比如说不能从 10变为 20);如果 final修饰一个引用类型时,表示该引用类型不能再指向其他对象了,但该引用所指向的对象的内容是可以发生变化的。


对于 final类型成员变量,一般来说有两种赋初值方式:
a)在声明 final类型的成员变量时就赋上初值
b)在声明 final类型的成员变量时不赋初值,但在类的所有构造方法中都为其赋
上初值。(因为构造方法一定执行)
public class FinalTest4
{
    final int a;

    public FinalTest4()
    {
        a = 0;
    }
}
下面这种情况编译报错,因为不知道哪个构造方法先执行
public class FinalTest4
{
    final int a;

    public FinalTest4()
    {
        a = 0;
    }

    public FinalTest4(int a)
    {

    }
}
在类的所有构造方法中都为其赋上初值。编译通过
public class FinalTest4
{
    final int a;

    public FinalTest4()
    {
        a = 0;
    }

    public FinalTest4(int a)
    {
        this.a = a;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值