关键字 final

本文详细阐述了Java中final关键字的三种使用情况:1)类不能被继承;2)方法不能被子类重写;3)变量只能初始化一次。final修饰的变量通常作为常量使用。
摘要由CSDN通过智能技术生成

关键字        final

1.修饰类时        说明类是最终的类,即类不能有子类。换句话说就是类不能被继承。

public final class Final {

}
class Test extends Final{//该类在编译时报错,无法继承Final

}

如上代码,用final修饰Final类后,Test类继承Final会报错,故final修饰的类无法被继承。


2.修饰方法时     说明方法是最终的方法,即方法不能被子类重写。

public class Final {
    public final void test(){

    }
}
class Test extends Final {
    public final void test(){//在重写Final类中的test方法时报错

    }
}

如上代码,子类Test继承父类Final,子类在重写父类Final类中的test方法时报错,即final修饰的方法无法被重写。


3.修饰变量时    说明变量是最终的,即变量的值不能发生变化。(如果变量没赋值,有一次赋值机会)。

public class Final {
    public final int x = 10;
}

class Test {
    public static void main(String[] args) {
        Final test = new Final();
        test.x = 20;//在给Final中的x赋值时报错
    }
}

如上代码,在main()函数中定义了一个Final的变量test,在用test.x给x赋值时报错,即final修饰的方法无法被赋值。

有一种特殊情况:

class Test {
    public static void main(String[] args) {
        final int x;
        x = 20;
        x = 10;//此处x赋值时报错
    }
}

如上代码,在main()函数中,定义x变量,此时对x进行赋值,第一次赋值可以成功,第二次会报错,即final修饰的变量没赋值,有一次赋值机会。


PS:因为final修饰的变量,值不能发生变化,所以我们通常把final修饰的变量称为常量,变量名一般用纯大写命名。

总结:1.final修饰类时,该类无法被继承

        2.final修饰方法时,该方法无法被重写

        3.final修饰变量时,变量只有一次赋值机会

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值