我想在Java中实现函数对象。我有一个Unit类,它有一个默认的附加函数,应该在Unit对象的大多数初始化中使用。但是,对于一些问题,我需要一个不同的附加功能。该代码将是这个样子:使用java中的对象功能
public class Unit() {
public Unit(unitType) {
if (unitType == "specialType") {
additionFunc = defaultFunc } else {
additionFunc = specialFunc }
}
}
public int swim() {
return additionFunc()
}
// definiion of regularFunc
// definition of specialFunc
}
然后,从主文件:
Unit fish = new Unit(regularTyoe);
Unit fatFish = new Unit(specialType);
fish.swim(); //regular function is called
fatFish.swim(); //special function is called
就是这样..没有人知道如何可以做到这一点?
所有这些答案都让我感觉不到比以往:) 这似乎是最接近我所需要的,谢谢! – 2012-07-30 16:11:33