模拟创建分类.java

Category.java

public class Category {
    private Long id;
    private String name;
    private int postCount;

    public Category() {
    }

    public Category(String name) {
        this.name = name;
    }

    public Category(String name, int postCount) {
        this.name = name;
        this.postCount = postCount;
    }

    public Category(Long id, String name, int postCount) {
        this.id = id;
        this.name = name;
        this.postCount = postCount;
    }

    public Long getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getPostCount() {
        return postCount;
    }

    public void setPostCount(int postCount) {
        this.postCount = postCount;
    }

    @Override
    public String toString() {
        return "Category{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", postCount=" + postCount +
                '}';
    }
}

Main.java

import java.util.Scanner;

public class Main {
    private static Long MY_ID = 1000L; // 静态变量,用于为每个分类分配唯一ID

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("计划创建4个分类");

        // 创建对象后手动设置实例字段
        System.out.print("请输入第一个分类名:");
        String name1 = sc.nextLine().trim(); // 接收用户输入并去除多余空格

        Category category1 = new Category(); // 使用无参构造器创建Category对象
        category1.setId(MY_ID++); // 手动设置ID字段,并自增
        category1.setName(name1); // 手动设置分类名
        category1.setPostCount(30); // 手动设置帖子数

        // 在构造器中初始化部分实例字段
        System.out.print("请输入第二个分类名:");
        String name2 = sc.nextLine().trim(); // 接收第二个分类名输入

        Category category2 = new Category(name2); // 使用构造器设置分类名
        category2.setId(MY_ID++); // 手动设置ID字段,并自增

        // 创建一个未设置任何字段的分类对象
        Category category3 = new Category(); // 不设置任何字段,后续展示默认值

        // 在构造器中初始化所有实例字段
        System.out.print("请输入第四个分类名:");
        String name4 = sc.nextLine().trim(); // 接收第四个分类名输入

        Category category4 = new Category(MY_ID++, name4, 55); // 使用全参构造器初始化所有字段

        // 打印每个分类对象的信息
        System.out.println(category1);
        System.out.println(category2);
        System.out.println(category3); // 注意观察未设置字段的对象输出结果
        System.out.println(category4);

        // 提示:尝试修改Category类中的toString方法,观察输出格式的变化
    }
}

 

posted @ 2024-09-18 22:57  xkfx  阅读(41)  评论(0编辑  收藏  举报