【发布时间】:2016-01-08 18:22:26
【问题描述】:
我有超类 Token 和一些子类,例如 Knight、King、Queen 等。
我需要一个随机的Token 类型所以我称之为这个方法:
public Class randomTokenType(){
Class[] classes = {
Bishop.class, King.class, Knight.class, Pawn.class, Queen.class, Rook.class
};
Random random = new Random();
return classes[random.nextInt(6)];
}
Class<Token> tokenType = randomTokenType();
现在我想在这个tokenType上调用一个静态方法,例如:
tokenType.displayString()
即使在Token 及其所有子类中实现此方法,编译器也无法解析。
我的错误是什么?
【问题讨论】:
-
你认为
Class类是什么?你为什么这么认为?多态和static在Java中是矛盾的。 -
另外,请不要为Java代码添加javascript代码sn-p。看看帮助中心如何正确发布代码 sn-ps。
-
对不起,我是 Java 新手。通常我在 Smalltalk 中编码,其中甚至类都是对象。 “类”和“对象”之间的行为没有区别
-
您的问题实际上可能是XY Problem,当最好的解决方案是完全使用不同的方法时,您会问“我该如何解决这个代码问题”。考虑告诉我们您正在尝试解决的总体问题,而不是您当前尝试解决的方式。