为什么我不能将超类用于通用绑定参数

时间:2016-07-10 23:51:32

标签: java generics

嘿,我对Java上的泛型有疑问。

基本上我有两节课。一个是接口,另一个是该接口的实现。

Hand.java:

public interface Hand { 

   void move(double x, double y, double z, int rotaton);

}

RightHand.java:

public class RightHand implements Hand { 

   @Override
   public void move(double x, double y, double z, int rotaton) {
        ...Logic...
   }

}

我想要实现的目标(失败);

public static void main(String[] args) {
    List<RightHand> rightHands = new ArrayList<RightHand>();

    ...Add to rightHands logic...

    moveHandsRandomly(rightHands);
}

public static void moveHandsRandomly(List<Hand> hands) {
    ...Move Logic...
}

它在moveHandsRandomly(rightHands)上给我一个语法错误。我不明白的是,RightHand本质上是Hand?为什么我不能使用这个逻辑?

0 个答案:

没有答案