final关键字_Java中的final关键字

1b9a8550dc06097a30811a535f83a2d3.png

final

final关键字的概述及特点

final可以修饰类/方法/变量

  • final修饰类,那么这个类是不能被继承的,但是可以继承别的类
  • final修饰方法,那么这个方法不能被重写,但是可以被子类继承使用.
  • final修饰变量,那么这个变量只能赋值一次,一旦赋值就不能更改了.效果上就是一个常量
    • final修饰局部变量,那么这个变量只能赋值一次,一旦赋值就不能更改了,效果上就是一个常量
    • final修饰成员变量,那么这个变量只能赋值一次,一旦赋值就不能更改了,效果上就是一个常量
      如果final修饰成员变量,那么成员变量必须要有初始值,初始值可以直接赋值,也可以通过构造方法赋值

final Student stu = new Student("小明",23); stu.setAge(12); stu.setName("大明") //不报错, 因为final修饰的是stu所代表的地址值,set方法改变的是相同地址值里对象的属性
stu = new Student ("大明",15); //报错,因为stu被final修饰,地址值不能改变,new一个新的student对象产生了新的地址值,要是 赋值给stu,stu的地址值就被改变了

命名用大写, _下划线连接

final关键字可以修饰什么?
被其修饰后有什么作用?
final修饰的(成员变量),其初始化时机为?

final是一个状态修饰符,可以修饰

● 变量: 效果--> 该变量只能赋值一次,不可更改

final修饰成员变量的时候,不能修饰默认初始化值,默认初始化值是一个无效值 建议,final修饰成员变量的时候,直接赋值 不建议在构造方法结束之前完成赋值

● 方法: 效果--> 被final修饰的方法不能被重写 ,但是可以被继承使用

●类: final修饰的类不能被继承(断子绝孙).如果一个父类中所有的功能都不希望子类进行覆盖,就可以将该类定义为final的 但是可以继承别的类 JAVA中的源码中,很多都是被final所修饰的

常量:在程序的执行过程中,其值不会发生改变的数据,如: 字符串常量,字符常量,整数常量,小数常量,布尔常量,空常量 自定义常量:不可被更改的变量 建议命名规范,如果是一个单词,所有字母大写 如 PI 如果是多个单词,所有字母大写,中间以_进行分隔,如 MAX_VALUE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值