• java档案类


    一、什么是档案类

    Java 档案类是用来表示不可变数据的透明载体,用来简化不可变数据的表达,提高编码效率,降低编码错误。

    二、档案类限制

    Java 档案类不支持扩展子句,用户不能定制它的父类。隐含的,它的父类是 java.lang.Record。父类不能定制,也就意味着我们不能通过修改父类来影响 Java 档案的行为。

    Java 档案类是个终极(final)类,不支持子类,也不能是抽象类。没有子类,也就意味着我们不能通过修改子类来改变 Java 档案的行为。

    Java 档案类声明的变量是不可变的变量。这就是我们前面反复强调的,一旦实例化就不能再修改的关键所在。

    Java 档案类不能声明可变的变量,也不能支持实例初始化的方法。这就保证了,我们只能使用档案类形式的构造方法,避免额外的初始化对可变性的影响。

    Java 档案类不能声明本地(native)方法。如果允许了本地方法,也就意味着打开了修改不可变变量的后门。

    三、档案类示例

    1. public record Circle(double radius) {
    2. //构造方法,可以用于参数检查
    3. public Circle {
    4. if (radius < 0) {
    5. throw new IllegalArgumentException("The radius of a circle cannot be negative [" + radius + "]");
    6. }
    7. }
    8. public double area() {
    9. return Math.PI * radius * radius;
    10. }
    11. }
    1. public static void main(String[] args) {
    2. //创建实例
    3. Circle circle = new Circle(6);
    4. //访问属性
    5. System.out.println(circle.radius()); //6.0
    6. //调用方法
    7. System.out.println(circle.area()); //113.09733552923255
    8. }

    和普通类比较差异

  • 相关阅读:
    初级算法_字符串 --- 有效的字母异位词
    第九课 排序
    Leetcode-1653. 使字符串平衡的最少删除次数
    力扣21.合并两个有序链表
    AI为药物开发助力两篇文章介绍
    《算法系列》之并查集
    span标签和p标签的区别
    yuv420并转为bgr
    算法 三数之和-(双指针)
    详解 Spring Boot 项目中的配置文件
  • 原文地址:https://blog.csdn.net/qq_29752857/article/details/125624319