首先,我只是把我的示例代码。有一个方法接受不同的对象作为参数
public class Shape {
public String colour;
public Shape(String colour) {
this.colour = colour;
}
}
public class Car {
public String colour;
public Car (String colour) {
this.colour = colour;
}
}
public class Colour {
public static String getColour(Object item) {
return item.**colour**;
}
}
我已阅读了与此相关的其他问题,但我似乎无法理解。我发现他们的原始代码对于我来说太复杂了。所以我试图尽可能简化代码。无论如何,我希望getColour接受Shape和Car对象。如果我像我在我的例子中那样使用Object,粗体的“颜色”被认为是错误的。我得到的错误是“颜色无法解析或不是字段”。怎么了?
另外,我听说过很多“静态方法很糟糕”等等,这是一个不好的例子吗?因为我发现如果我不使它成为静态的,那么我需要在Shape和Car类中复制getColour方法。如果我应该避免静态方法,那么请建议另一种方法来做到这一点。
我建议让这两个类都实现一个类似'Colourable'的接口,然后您可以使用'Colourable'作为参数而不是Object。 – Poriferous
谢谢你们。希望我可以检查所有答案是有用的。 – fossdeep