Java基础——final关键字

final的定义,final关键字可用于修饰类,变量和方法,意思为“无法改变的,最终,是定死了的”。
final的特性:
1.final修饰的类不能被继承
2.final修饰的方法不能被子类重写,覆盖
3.final修饰的变量(成员变量和局部变量)是常量,只能复制一次
4.当使用的数据不变时,需要定义阅读性强的名称来表示该数据,并将该数据final化。
5.final修饰的变量 名称规范是:所有字母大写(final int AGE=18;),如果是多个字母组成,则在单词之间加_分隔

class Animal{
void shout(){
System.out.println(“啊呜~”);
}
}
class Dog extends Animal{
void shout(){
System.out.println(“汪汪!”);
}
}
public class G
{
public static void main(String[] args){
Dog dog=new Dog();
dog.shout ();
}
}
如上所写编译后的结果:这里写图片描述
子类Dog将父类Animal重写了,而如果用final修饰了Animal类的话,
final class Animal{
void shout(){
System.out.println(“啊呜~”);
}
}
class Dog extends Animal{
void shout(){
System.out.println(“汪汪!”);
}
}
public class G
{
public static void main(String[] args){
Dog dog=new Dog();
dog.shout ();
}
}
运行之后就会出现
这里写图片描述
如图中途中所述,子类已无法继承父类了。
如果final修饰了父类的方法,也会出现类似的报错,这个运用可以理解为(如果你父类中有5个方法,其中2个是你不想被覆盖的,就可以在方法前加final,另外不加final的三个就可以被子类的方法覆盖了,而加了的则还是原来的,不过其实这并没有什么卵用,因为只要有final,控制台就会报错,理解就好- -!)

最后就是final修饰的变量为常量,意思就是当final修饰的变量一旦被赋值了,其值就不能改变了,如果再次对其赋值就会报错,也就是他只能被赋值一次。例:
这里写图片描述
上图中变量X被第二次赋值后,最终输出的值为2
那么我们在变量前加上final
这里写图片描述
如图所述,被final修饰过了之后,XMA便成了最终变量,已不能再被赋值(注:final修饰的变量要大写,这是规范,跟类名首字母大写一个意思)

另外附带一提的是,如果在子类方法前加一个final,是可以覆盖父类的方法的,然并卵,知道就好!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值