] 创建一个类MyFavor用于描述你个人喜好的一类东西,必须包含至少三个属性用于描述清楚该爱好,至少两个方法和至少两个构造器,同时写测试类,测试该类中的所有构造器、方法和属性。同时在程序中输出你的姓名-班级-学号-程序运行的日期。java
时间: 2024-10-13 14:17:50 浏览: 38
80个最常用英语单词的替换词.pdf,这是一份不错的文件
在Java中,我们可以创建一个名为`MyFavor`的类来描述个人喜好,并添加相应的属性、构造器和方法。这里是一个简单的例子:
```java
import java.time.LocalDate;
public class MyFavor {
// 属性
private String hobbyName;
private int frequency;
private LocalDate startDate;
// 构造器
public MyFavor(String hobbyName, int frequency) {
this.hobbyName = hobbyName;
this.frequency = frequency;
this.startDate = LocalDate.now();
}
// 第二个构造器可以接受开始日期
public MyFavor(String hobbyName, int frequency, LocalDate startDate) {
this.hobbyName = hobbyName;
this.frequency = frequency;
this.startDate = startDate;
}
// 方法
public void displayInfo() {
System.out.println("姓名-班级-学号: [未提供],我的爱好是 " + hobbyName +
", 我从 " + startDate + " 开始喜欢,频率是 " + frequency + " 次/月");
}
public void updateFrequency(int newFrequency) {
this.frequency = newFrequency;
}
}
// 测试类
public class MyFavorTest {
@org.junit.Test
public void testMyFavor() {
// 测试无参构造器
MyFavor favorWithoutDate = new MyFavor("阅读", 5);
favorWithoutDate.displayInfo();
// 测试带日期构造器
MyFavor favorWithDate = new MyFavor("绘画", 7, LocalDate.of(2023, 1, 1));
favorWithDate.displayInfo();
// 更新频率并展示
favorWithDate.updateFrequency(8);
favorWithDate.displayInfo();
}
}
```
在这个示例中,我们首先定义了一个`MyFavor`类,它有三个属性:`hobbyName`(爱好的名称)、`frequency`(频率,单位为次/月)和`startDate`(开始日期)。然后提供了两个构造器,一个接收两个参数,另一个接收三个参数。
`displayInfo()`方法用于显示关于爱好的信息,`updateFrequency()`方法用于更新频率。在`MyFavorTest`类中,我们编写了单元测试,分别测试了这两个构造器以及`displayInfo()`方法和`updateFrequency()`方法。
注意,在这个示例中,因为涉及到个人信息如姓名、班级和学号,我没有直接填写这些值,因为在实际应用中你需要将其替换为你自己的真实信息。另外,为了演示,`LocalDate.now()`返回的是当前日期,你可以根据需要替换为具体的日期。
阅读全文