【Java基础08_3】final关键字

概述

  • final关键字是最终的意思,可以修饰类,变量,成员方法。
  • final存在的原因:
    由于继承中有一个方法重写的现象,而有时候我们不想让子类去重写父类的方法,这对这种情况 java 就给我们提供了一个关键字: final

特点

  • 修饰类:被修饰类不能被继承
  • 修饰方法: 被修饰的方法不能被重写
  • 修饰变量:被修饰的变量不能被重新赋值,因为这个量其实是一个常量!

final 修饰方法

// 父类
class Father {

    public final void show() {
        System.out.println("这是一个绝密的东西,请不要随便改动!!!");
    }   

}
// 子类
class Son extends Father {

    // 错误: Son中的show()无法覆盖Father中的show()
    public void show() {
        System.out.println("这是一堆垃圾!!!!还绝密呢!!!");
    }

}

final 修饰类/成员变量

// 父类
// final class Father {}

// 子类
// 错误: 无法从最终Fu进行继承
class Son extends Father {}

class Demo {
    // 成员变量
    int a = 10;
    final int b = 20;
}

class FinalDemo1 {

    public static void main(String[] args) {

        // 创建A的对象
        Demo d = new Demo();
        d.a = 20;
        System.out.println(d.a);
        System.out.println("-----------");

        // 错误: 无法为最终变量b分配值
        // d.b = 30;
        System.out.println(d.b);

        System.out.println("-----------");
        // 在局部位置定义一个变量,并使用final修饰
        final int a = 10;

        // 错误: 无法为最终变量a分配值
        // a = 20;
        System.out.println(a);

    }
}

final关键字修饰局部变量

  • 基本类型:是不能被改变
  • 引用类型:是地址值不能被改变
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值