创建新对象时使用 set 方法的替代方法
Alternative for using set methods when creating a new object
所以我正在尝试创建一个程序来帮助我跟踪我的开支,但我有一个关于如何创建我的对象的问题。
到目前为止,我一直在像这样创建我的对象:
Grocery milk = new Grocery();
milk.setName("Milk");
milk.setCost(2.84);
milk.setDate(30, 12, 2014);
milk.setType("Food");
我的杂货店 class 增加了这笔费用 class:
public Expense(){}
public Expense(String name, Double cost, Calendar purchaseDate){
name = _name;
cost = _cost;
purchaseDate = _purchaseDate;
}
到目前为止,我的杂货店 class 只添加了另一个我称为类型的字符串参数,所以这是我的问题:
我不想使用 set 方法为每个新创建的对象设置参数:
Grocery milk = new Grocery("Milk", 2.84, ??Date??, "Food")
但是日期参数比其他只有字符串和双精度类型的参数复杂一点,有没有办法做我想做的事情,还是我最好使用设置方法?
在此先感谢您的帮助。
您可以简单地使用类型为 Date
的 Object
DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
Date date = formatter.parse("16/01/2015");
Grocery milk = new Grocery("Milk", 2.84, date, "Food")
备选方案包括使用 Calendar
对象(它有更多 flexible/powerful 日期操作方法),或者只是将您的日期存储为 String
.
至于决定是使用setX()
方法还是使用综合构造函数,除非有理由不行,你可以两者兼备,并在任何时候使用最合适的。
进一步阅读:
所以我正在尝试创建一个程序来帮助我跟踪我的开支,但我有一个关于如何创建我的对象的问题。
到目前为止,我一直在像这样创建我的对象:
Grocery milk = new Grocery();
milk.setName("Milk");
milk.setCost(2.84);
milk.setDate(30, 12, 2014);
milk.setType("Food");
我的杂货店 class 增加了这笔费用 class:
public Expense(){}
public Expense(String name, Double cost, Calendar purchaseDate){
name = _name;
cost = _cost;
purchaseDate = _purchaseDate;
}
到目前为止,我的杂货店 class 只添加了另一个我称为类型的字符串参数,所以这是我的问题:
我不想使用 set 方法为每个新创建的对象设置参数:
Grocery milk = new Grocery("Milk", 2.84, ??Date??, "Food")
但是日期参数比其他只有字符串和双精度类型的参数复杂一点,有没有办法做我想做的事情,还是我最好使用设置方法?
在此先感谢您的帮助。
您可以简单地使用类型为 Date
Object
DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
Date date = formatter.parse("16/01/2015");
Grocery milk = new Grocery("Milk", 2.84, date, "Food")
备选方案包括使用 Calendar
对象(它有更多 flexible/powerful 日期操作方法),或者只是将您的日期存储为 String
.
至于决定是使用setX()
方法还是使用综合构造函数,除非有理由不行,你可以两者兼备,并在任何时候使用最合适的。
进一步阅读: