final的使用以及权限修饰符

final关键字用于声明不可变的类、方法或变量。它阻止类被继承,防止方法被重写,以及确保局部或成员变量的引用不可变。然而,final与abstract矛盾,因为abstract要求方法被重写。文章详细介绍了final修饰类、方法、局部变量和成员变量时的具体规则。
  • final表示最终的、不可改变的

  • final跟abstract不可以同时使用,因为二者是冲突的。final表示不可变,abstrac表示必须要重写、必须要变。

  • 常见的四种用法

    1. 修饰一个类
      • 格式: public final class 类名称{ }
      • final修饰之后,这个类不能存在任何的子类,但是可以存在父类,也就是说可以继承其他类
    2. 修饰一个方法
      • 格式:public final 返回值 方法名(){ 方法体}
      • 当使用final修饰一个方法之后,这方法就不能被重写,也就是最终版本的方法了
    3. 修饰一个局部变量
      • 格式: final 变量类型 变量名字 = 值;
      • 对于基本类型来说,使用了final关键字之后,变量的值就不可以改变了;
      • 对于引用类型来说,使用了final关键字之后,变量的指向不可改变,但是值可以改变。因为引用类型保存的是一个地址,使用final之后地址就不可变,但是地址里面保存的数据不受影响。
    4. 修饰一个成员变量
      • 对于成员变量来说,因为成员变量是有默认值的(java自动加的默认值),所以必须自己手动加一个默认值,因为java自动加的默认值没有意义;
      • 对于final修饰的成员变量,要么使用直接赋值,要么在构造函数里面赋值,总之必须保证类被实例化之后final修饰的成员变量是被赋值的;
      • 如果使用构造函数赋值,那么必须要保证任意一种构造函数都会对final修饰的成员变量进行赋值。
  • 权限修饰符包括四种,按权限大小排序分别如下;

    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

就是木子呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值