Final关键字

final关键字

四种常见用法

1.修饰一个类
2.修饰一个方法
3.修饰一个成员变量
4.修饰一个局部变量

final修饰一个类

格式:public final class 类名称 {
方法体
}
小结:①final 修饰过的类 就不可以在有子类了。②final修饰的类中的方法无法进行方法的覆盖重写(因为覆盖重写是需要有子类的,子类对父类的方法 进行覆盖重写,可是final修饰过的类是不可以作为父类的)③final修饰的类中的方法是可以覆盖重写父类的方法的,因为final修饰的类是可以有父类的

final修饰一个方法

格式:修饰符 final 返回值类型 方法名(参数列表){
方法体
}
小结:①final 修饰过的方法是不可以让子类进行覆盖重写的,但是这个类是可以有子类的。②final和abstract关键字是相互矛盾的,abstract修饰的方法 是抽象方法,没有方法体,那么这个类也要是抽象类,它的子类就必须要覆盖重写这个抽象方法,可是final修饰的方法是不能让子类进行覆盖重写的。

final修饰局部变量

例如:

final int num1=20;//正确
num1=20;//这是就会报错,已经给num1赋值过,就不可以在进行更改

当这次给num1赋值以后,就不可以在给num1改变它的类型

final int num2;
num2=20;//这是可以的,只要只进行了一次赋值就可以;
num2=20;//在进行相同数据的赋值也是不可以的

小结:对于基本类型来说,不可以改变的是变量中的数据不可以改变
   对于引用类型来说,不可以改变的是变量中的地址值不可以改变‘
   对于引用类型变量来说,地址值是不不可以进行改变的 但是里面的内容是可以进行改变的

final修饰成员变量

①成员变量是有默认值得,所以当用final修饰了以后,就必须对他进行手动的赋值
②对于final的成员变量要么直接赋值,要么通过构造方法对他进行赋值
③必须保证类当中所有重载的构造方法,都最终会对final的成员变量赋值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值