java的final关键字

一、final关键字使用范围

在Java中声明类、变量和方法时,可使用关键字final来修饰,表示“最终的”。 

二、final关键字修饰类

final修饰的类不能被继承。提高安全性,提高程序的可读性。比如:String类、System类、StringBuffer类

语法格式:

final class A{

//属性、方法、构造器、代码块

}

包装类、String类都是final类,不能被继承

一般来讲,如果一个类是final类了(就说明没办法继承了),就没必要将方法弄成final了(连继承都没办法,就无从谈起重写了,因为继承关系是重写的前提),

中国古代,什么人不能有后代,就可以被final声明,称为“太监类”!

三、final关键字修饰方法 

final修饰的方法不能被子类重写比如:Object类中getClass()

语法格式:

权限修饰符 final 返回值类型 方法名(参数列表){

//程序代码

}

若类不是final类,但是含有final方法,则该方法虽然不能被重写,但是可以被继承

四、final关键字修饰变量 

 

final修饰的变量(成员变量(属性)或局部变量(方法内定义的属性))即称为常量。名称大写,且只能被赋值一次
final修饰的成员变量必须在定义时或在每个构造器中或代码块中(3选1)显式赋值,然后才能使用。 
语法格式:

权限修饰符 final type var = value; 【type是java数据类型,var是变量名,value是变量的值】

常量名要大写,内容不可修改。——如同古代皇帝的圣旨。

五、final修饰static 属性

static final 用来修饰属性表示全局常量(属性)

final修饰的static 属性必须在定义时或或代码块中(3选1)显式赋值,然后才能使用不能在构造器中赋值。(因为构造器只有在创建对象时才会被调用,而静态变量的初始化在类加载时就要赋值)

final和static往往搭配使用,效率更高,不会导致类加载(因为底层编译器做了优化)(单用static,在使用时会导致类的加载)

语法格式:

权限修饰符 static final type var = value;【type是java数据类型,var是变量名,value是变量的值】

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值