普通的 Java 对象(POJO)

Java 的数据类型与异常

Jim White

Java Developer

数据类型与异常处理概览

  • 第 1 章
    • 普通 Java 对象(POJO)
    • 包装类
    • 使用包
  • 第 2 章
    • 集合框架
  • 第 3 章
    • 异常与异常处理

Java 如何处理数据与问题?这是本课程主题。

1 Photo by Mika Baumeister on Unsplash
Java 的数据类型与异常

将 Java 对象用作数据结构

  • Java 对象用于存储和组织数据。
    • 由自定义类创建
  • 将数据存于字段中
    • 充当应用的数据"行李箱"
  • 称为POJO
    • Plain ordinary Java object
    • 或 Plain old Java object
  • 简单的 Java 对象用于承载与传递数据
    • 遵循若干规则
    • 不包含任何逻辑

Java 对象(POJO)像行李箱,在应用中承载并传递数据。

1 Photo by Caroline Selfors on Unsplash
Java 的数据类型与异常

Getter 与 Setter

  • Getter 和 Setter 为 public
    • 字段为 private
  • Getter/Setter 保护 POJO 中的数据
    • 促进数据封装
  • 隐藏底层字段的实现细节
Java 的数据类型与异常

POJO 类指南

  • POJO 类应当
    • 为 public
    • 为所有字段提供 public 的 getter/setter
      • 字段应为 private
    • 提供默认(无参)构造方法

POJO 类应遵循这些规则

1 Photo by Anastasiya Badun on Unsplash
Java 的数据类型与异常

POJO 禁忌

  • POJO 类不应当
    • 依赖特定框架
    • 继承其他类
    • 实现任何接口
      • 某些情况下可实现 Serializable
    • 包含业务逻辑
  • 即使如此,这些规则有时也会放宽
    • 尽量保持 POJO 简单

POJO 类不应具有以下特性

1 Photo by Anastasiya Badun on Unsplash
Java 的数据类型与异常

Getter

  • Getter 命名
    • 以"get"开头(boolean 用"is")
    • 以字段名结尾
    • 小驼峰命名
    • 例:get + make = getMake
  • 不接收参数
  • 返回字段值
  • Getter 可隐藏字段实现细节
    private String make;

    public String getMake() {
        return make;
    }
    private short on;

    public boolean isOn() {
      if (on == 0) {
        return false;
      } else {
        return true;
      }
    }
Java 的数据类型与异常

Setter

  • Setter 命名
    • 以"set"开头,字段名结尾
    • 小驼峰命名
    • 例:set + make = setMake
  • 接收单个参数——字段的新值
    • this 区分字段与参数
  • 返回 void(无返回值)
  • 可校验数据有效性
    private String make;

    public void setMake(String make) {
        this.make = make;
    }
    private int age;

    public void setAge(int age) {
      if ((age >= 0) && (age <= 120)) {
        this.age = age;
      }
    }
Java 的数据类型与异常

POJO 示例

  • public 类
  • private 字段
  • public getter/setter
    • Getter 返回字段值
    • Setter 设置字段值
  • 默认/无参构造方法
public class Car {   // POJO class is public
    private String model;  // Fields are private
    private int year;

    // Default no arg constructor

    // Public getters to access POJO data
    public String getModel() {
        return model;
    }
    public int getYear() {
        return year;
    }
    // Public setters to set POJO fields
    public void setModel(String model) {
        this.model = model;
    }
    public void setYear(int year) {
        this.year = year;
    }
}
Java 的数据类型与异常

让我们来练习!

Java 的数据类型与异常

Preparing Video For Download...