2016-10-11 2 views
4
을 구현하기 위해 요구되는

나는일반적인 두 개의 인터페이스

class Dog implements CanFly{ .. } 
class Duck implements CanFly, CanRun{ .. } 

지금 어떤 점에서 나는 일반적인를 사용해야합니다 (다른 사람에 의해 수행)

interface CanFly{ .. } 
interface CanRun{ .. } 

및 구현의 많은 같은 몇 가지 인터페이스를 가지고 두 개의 인터페이스를 구현하는 유형이 필요합니다.

class FlyAndRunHandler <ANIMAL extends CanFly AND CanRun>{ 
    void performAction(ANIMAL animal){ 
     animal.fly(); 
     animal.run(); 
    } 
} 

스칼라에서는 ANIMAL extends CanFly with CanRun처럼 보입니다. 이것을 Java로 보관하는 방법이 있습니까? 필요한 경우 추가 인터페이스를 작성할 수 있지만 동물 클래스에 인터페이스를 추가 할 수있는 방법은 없습니다.

+2

수 있었다 예외가 발생합니다 다음 <T extends className & CanFly & CanRun> 등의 시작 부분에 클래스를 넣어 확인 CanFly & CanRun와 함께 클래스를 추가하려면 이것은 당신이 찾고있는 것입니다. http://stackoverflow.com/questions/745756/java-generics-wildcarding-with-multiple-classes – Ash

답변

3

당신은 Multiple Bounds

<T extends CanFly & CanRun> 같은 주를 사용할 수 있습니다 미래에 당신이 그렇지 않으면

관련 문제