Fork me on GitHub

JavaBean、记录类、record

一、JavaBean

在Java中,如果一个class定义符合以下规范:

1. 若干个private实例字段

2. 通过public来实现读写方法

例如下面代码:

public class User{
    int id ;
    String userName ;
    String password ;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

}

如果读写方法符合以下规范:

public Type getXye() ;

public Type setXye(Type value) ; 

则称这种class为JavaBean

二、 记录类

使用String、Integer等类型时候,这些类型都是不变类,一个不变类具备以下特点:

1. 定义class时用final,无法派生子类。

2. 每个字段使用final,保证创建实例后无法修改任何字段。

如下写法:

public final class Point {
    private final int x;
    private final int y;

    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public int x() {
        return this.x;
    }

    public int y() {
        return this.y;
    }
}

三、record

从Java 14开始,引入了新的Record类。我们定义Record类时,使用关键字record。把上述Point类改写为Record类,代码如下:

public record Point(int x, int y) {}

至此,结束。

posted @ 2021-01-22 15:30  叶语婷  阅读(1437)  评论(0编辑  收藏  举报