저는 아마추어 프로젝트에 완전히 빠져 있습니다. 나는 MyInterface
을 구현하는 MySingleton을 가지고 있으며 MyMethod()
을 호출합니다. MyMethod()
은 MySubcls
중 하나를 매개 변수로 사용해야합니다. 문제는 제네릭없이 MyMethod()
을 신고하는 것입니다. 제네릭없이 매개 변수가 다른 많은 선언을 사용해야합니까?인터페이스의 메소드 매개 변수 (제네릭없이)?
Main.java =>는 하나의 방법에서 모든 서브 클래스의 값을 인쇄해야
public class Main{
public static void main(String[] args){
MySubcls01 subCls01 = new MySubcls01();
MySubcls02 subCls02 = new MySubcls02();
MySingleton.INSTANCE.MyMethod(subCls01);
MySingleton.INSTANCE.MyMethod(subCls02);
}
}
enum MySingleton implements MyInterface
{
INSTANCE;
@Override
public void MyMethod();// TODO - need to pass subCls01 or subCls02
{
System.out.println(subCls01.value);
System.out.println(subCls02.value);
}
}
interface MyInterface
{
void MyMethod(); // TODO - what parameter for any subclass???
// void MyMethod(MySubcls01 subCls01);
// void MyMethod(MySubcls02 subCls02); => brute-force approach
// <T> void MyMethod(T type); => shouldn't use generics
}
class MySupercls
{
// some stuff
}
class MySubcls01 extends MySupercls
{
String subValue = "i'm from subclass01";
}
class MySubcls02 extends MySupercls
{
String subValue = "i'm from subclass02";
}
'MySubcls0x' 클래스는 공통 기본 클래스를 가지고 있습니까? –
@ Joachim Suaer 예. – Alf