java - 使用 setter/getter 从其他类访问数组属性
问题描述
我是 Java 新手,想知道如果它们是数组,如何使用 setter/getter 访问其他类的属性。
目前,我有一个日期类,它设置带有月/日/年参数的日期。我需要创建另一个类,该类使用日期类来设置雇用日期以存储为属性,以及其他类。
我的代码目前如下所示:
public class DateClass {
private int month;
private int day;
private int year;
// MONTH
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
// DAY
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;
}
// YEAR
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
// FULL DATE
public void setDate(int month, int day, int year) {
setMonth(month);
setDay(day);
setYear(year);
}
public int[] getDate() {
return new int[] { month, day, year };
}
}
这是第二类:
public class EmployeeClass {
private int[] dateOfHire;
public void setDateOfHire(int[] dateOfHire) {
dateOfHire.setDate(dateOfHire);
}
public String[] getDateOfHire() {
return dateOfHire.getDate(dateOfHire);
}
}
错误说:无法在数组类型 int[] 上调用 setDate(int[])
我怎样才能解决这个问题?谢谢!
解决方案
你需要做一些改变。首先,您EmployeeClass
应该有一个DateClass
属性,而不是int[]
该setDateOfHire()
方法必须调用具有 3 个参数setDate()
的可用方法:DateClass
public class EmployeeClass {
private DateClass dateOfHire;
public void setDateOfHire(int[] dateOfHire) {
this.dateOfHire.setDate(dateOfHire[0], dateOfHire[1], dateOfHire[2]);
}
public int[] getDateOfHire() {
return dateOfHire.getDate();
}
}
这会起作用,但我建议你检查你的课程设计。让int
数组定义日期是一种非常糟糕的做法。
推荐阅读
- php - 根据日期值计算平均值
- css - 角材料垫网格瓷砖高度
- c# - 实体框架将多个查询合二为一
- c - 为什么 LookupAccountSid 使用 C 在 Win32 API 中提供奇怪的安全描述符数据?
- hyperledger-fabric - 超级账本结构中的交易流
- bokeh - 为 holowviews 生成的绘图设置 sizing_mode bokeh 属性
- javascript - JQuery - 删除特殊字符但允许其他语言
- python - 列表追加 Python 结果的解释
- elasticsearch - 如何将 pattern_replace char_filter 与同义词过滤器结合使用(跳过同义词?)
- xslt - 如何用'if'设置全局布尔变量的值?