私は私のアマチュアプロジェクトで完全に立ち往生しています。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";
}