Java 7부터 다음과 같이 동일한 catch 절에서 여러 예외를 catch 할 수 있습니다.여러 유형의 객체를 메소드에 매개 변수로 전달
try {
...
} catch(IOException | SQLException ex) {
...
}
마찬가지로 상속을 사용하지 않고 다음과 같이 구현할 수 있습니까?
public void passMultipleTypes(Type1 | Type2 obj) {
...
}
obj
객체 Type1
또는 Type2
될 수 있습니다. 이 클래스가 생성되고 변경할 수 없으므로 상속을 사용하지 않으려합니다.. 그래서
public class Test1 extends CommonSuperClass {
...
}
Type1
및 Type2
비슷한 속성을 가지고 그것들을 정의 할 수 없습니다. 그래서 나는 obj
과 같이 일하려고 생각했습니다. 일부 클래스 코드 겐 플러그의 일부로서 생성되므로
public void passMultipleTypes(Type1 | Type2 obj) {
System.out.println(obj.getCode());
System.out.println(obj.getValue());
}
이 허용 대답을 살펴 여기 보자 :
그래서이 같은이 클래스를 사용하여 HTTP ://stackoverflow.com/questions/10777384/method-accepting-two-different-types-as-parameter – Daneel
@Daneel OP가 제안한 솔루션을 선택할 수 있다고 생각하지 않습니다. 클래스가 생성되고 두 클래스의 인터페이스를 구현하는 것이 어려울 수 있습니다. – Knu8
제네릭 종류를 확인하십시오. – CrazyJavaLearner