资讯专栏INFORMATION COLUMN

Java基础知识整理之final关键字

eccozhou / 765人阅读

摘要:通过修饰以后,可以表示其修饰的类方法和变量不可改变。如果不希望子类重写父类的某个方法,那就使用关键字。在一些时候由于父类中的某些方法具备某些隐藏的特性,那么并且子类必须使用此方法操作的时候,就加上关键字。

简介

在 Java 中我们把 final 称为终结器,在 Java 中可以使用 final 定义类、方法、属性。通过 final 修饰以后,可以表示其修饰的类、方法和变量不可改变。

使用 final 定义类

使用 final定义的类不能够有子类,并且该类中的成员方法都默认为final方法。

final class A{     //使用 final 定义一个类    
}    

// 这里在 eclipse 上面会提示: The type B cannot subclass the final class A
// 并且提示要将 class A 中的 final 去掉
class B extends A{}    //新建一个类去继承 final 类
使用 final 定义的方法

使用 final 定义的方法不能被子类覆写。如果不希望子类重写父类的某个方法,那就使用 final 关键字。

在一些时候由于父类中的某些方法具备某些隐藏的特性,那么并且子类必须使用此方法操作的时候,就加上 final 关键字。意思是说,子类不要去破坏这个方法的重要的作用。

class A{
    // 使用 final 定义 方法
    public final void fun(){}    
}

class B extends A{    //新建一个类去继承 final 类
    // 在 eclipse 中这行就会报错,直接就提示了需要将 A类中的 fun() 的 final 去掉
    public void fun(){
    }
}    
使用 final 定义的变量

当使用 final 修饰变量时,表示该变量一旦获得了初始值之后就不可被改变。final 既可以修饰成员变量,例如:类变量和实例变量,也可以修改局部变量和形参。用 final 修饰的变量不可以被改变,一旦获得初始值之后,该 final 变量的值就不能被重新赋值。

定义常量
class A{
    
    // 使用final 来修饰变量
    final double GOOD = 100.0;
    
    // 使用 final 定义 方法
    public final void fun(){
        
        // 这里会报错提示 将 GOOD 修饰的 final 去掉
        GOOD = 200;
    }    
}
全局常量

使用 public static final 声明的就是全局常量

public static final String CONF_ID = "Windows"; 

static 的数据保存在公共数据区,所以此处的常量就是一个公共常量。
final 声明的数据,是不能修改的,所以上面的代码定义的变量就成为了全局使用的常量。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/72384.html

相关文章

  • Java核心技术教程整理,长期更新

    以下是Java技术栈微信公众号发布的关于 Java 的技术干货,从以下几个方面汇总。 Java 基础篇 Java 集合篇 Java 多线程篇 Java JVM篇 Java 进阶篇 Java 新特性篇 Java 工具篇 Java 书籍篇 Java基础篇 8张图带你轻松温习 Java 知识 Java父类强制转换子类原则 一张图搞清楚 Java 异常机制 通用唯一标识码UUID的介绍及使用 字符串...

    Anchorer 评论0 收藏0
  • Java基础篇——JVMGC原理(干货满满)

    摘要:此外,从结果我们可以得知,一个堆对象的放在局部变量表中的第一项引用会永远存在,在方法体内可以将引用赋值给其他变量,这样堆中对象就可以被其他变量所引用,即不会被回收。 原创不易,如需转载,请注明出处https://www.cnblogs.com/baixianlong/p/10697554.html,多多支持哈! 一、什么是GC? GC是垃圾收集的意思,内存处理是编程人员容易出现问题的地...

    liaorio 评论0 收藏0
  • 一份送给Java初学者的指南

    摘要:编程思想第版这本书要常读,初学者可以快速概览,中等程序员可以深入看看,老鸟还可以用之回顾的体系。以下视频整理自慕课网工程师路径相关免费课程。 我自己总结的Java学习的系统知识点以及面试问题,目前已经开源,会一直完善下去,欢迎建议和指导欢迎Star: https://github.com/Snailclimb/Java-Guide 笔者建议初学者学习Java的方式:看书+视频+实践(初...

    banana_pi 评论0 收藏0
  • 好文章必读 - 收藏集 - 掘金

    摘要:方法即为收集器,它接收高阶函数和的后端掘金年的第一天,我坐在独墅湖边,写下这篇文章。正因如此,所以最全系列教程后端掘金是从版本开始引入的一个新的,可以替代标准的。 设计模式之单例模式 - 掘金前言 作为一个好学习的程序开发者,应该会去学习优秀的开源框架,当然学习的过程中不免会去阅读源码,这也是一个优秀程序员的必备素养,在学习的过程中很多人会遇到的障碍,那就是设计模式。很多优秀的框架会运...

    FrozenMap 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<