Java 实体类声明

Java 是一种面向对象的编程语言,它提供了丰富的工具和语法来创建和管理对象。在 Java 中,实体类是一种用来描述现实世界中对象特征和行为的抽象表示。实体类通常用于存储和操作数据,并提供与其他类的交互。

本文将介绍如何声明和使用 Java 实体类,并提供一些示例代码来说明这些概念。我们将从基础的实体类声明开始,然后介绍如何添加属性、方法和构造函数,最后讨论一些常见的实体类设计模式。

基础实体类声明

在 Java 中,实体类是通过 class 关键字声明的。下面是一个简单的实体类声明示例:

public class Person {
    // 属性声明
    private String name;
    private int age;
    
    // 构造函数
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    // 方法声明
    public void sayHello() {
        System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");
    }
}

在上面的示例中,我们声明了一个名为 Person 的实体类。它有两个属性 nameage,分别表示人的姓名和年龄。还有一个构造函数,用于初始化这两个属性。最后,我们声明了一个 sayHello 方法,用于打印问候语。

要使用这个实体类,我们可以在其他类中创建实例,并访问其属性和方法。下面是一个使用 Person 类的示例:

public class Main {
    public static void main(String[] args) {
        // 创建一个 Person 实例
        Person person = new Person("Alice", 25);
        
        // 访问属性
        System.out.println("Name: " + person.name);
        System.out.println("Age: " + person.age);
        
        // 调用方法
        person.sayHello();
    }
}

运行上面的代码,将会输出以下内容:

Name: Alice
Age: 25
Hello, my name is Alice and I am 25 years old.

属性和方法

实体类的属性和方法是用来描述对象的特征和行为的。属性是类的成员变量,用来存储对象的状态信息。方法是类的成员函数,用来操作对象的数据。

属性

属性可以是任何合法的 Java 数据类型,包括原始类型(如 intfloatboolean)、引用类型(如 StringListMap)和其他自定义类型。

属性通常使用访问修饰符来控制其可见性。常用的访问修饰符包括 privateprotectedpublic 和默认(没有修饰符)。其中,private 表示属性只能在类内部访问,protected 表示属性只能在类内部和子类中访问,public 表示属性可以在任何地方访问,而默认修饰符表示属性可以在同一个包中访问。

public class Person {
    // 公共属性
    public String name;
    
    // 私有属性
    private int age;
    
    // 默认属性
    String address;
    
    // 受保护属性
    protected boolean married;
}

在上面的示例中,name 是一个公共属性,可以从任何地方访问;age 是一个私有属性,只能在类内部访问;address 是一个默认属性,可以在同一个包中访问;married 是一个受保护属性,可以在类内部和子类中访问。

方法

方法是用来执行特定任务的一组语句。方法可以具有返回类型和参数列表。

public class Person {
    // ...

    // 无返回值的方法
    public void sayHello() {
        System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");
    }
    
    // 带返回值的方法
    public String getAddress() {
        return address;
    }
    
    // 带参数的方法
    public void setAge(int age) {
        this.age = age;