[英]use variable type to define another variable type
我試圖使用一個變量的類型來定義另一個變量的類型,我知道我可以將所有類型都放在一個枚舉中,然后使用帶有開關/大小寫的序數進行選擇,但是我想知道是否有更簡單的方法。
這是一個小例子:
public void loadRotation(TetrominoType type) {
TetrominoType new = new type.class();
}
TetroiminoType type = new RedTetro();
this.loadRotation(type);
RedTetro顯然擴展了TetrminoType
我知道這行不通,但希望您能從中了解我正在嘗試做的事情。
您可以使用instanceof
評估者:
public class MainClass {
public static void main(String[] a) {
String s = "Hello";
if (s instanceof java.lang.String) {
System.out.println("is a String");
}
}
}
您可以使用Java反射根據您擁有的變量的類型來重寫類型。
您可以在http://java.sun.com/developer/technicalArticles/ALT/Reflection/中找到更多信息,並在此處找到類似的問題具有給定類型的動態變量
應該是在利用類型的基類也設置基本類型,然后使用反射創建具有新類型的變量的情況下。
反思是答案。
如果您要說的是一個帶有零參數構造函數的類,那么它很簡單:
MyClass c = new MyClass();
MyClass c2 = c.getClass().newInstance();
如果需要使用帶有參數的構造函數,則必須提取並使用所需的Constructor
。 Oracle在這里提供了一個教程:
http://download.oracle.com/javase/tutorial/reflect/member/ctorInstance.html
您需要查找Factory設計模式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.