![](/img/trans.png)
[英]Java Reflection: Creating class instance dynamically and assigning it to Parent object
[英]dynamically creating object [java]
這可能是一個簡單的問題,但是我是編程新手。 我的問題是如何動態創建類的實例。 例如,我有一個圓類,它具有計算面積和半面積的方法,依此類推,而類的構造函數初始化所有的類字段,例如半徑和其他字段。 我想要做的是每當用戶想要創建一個新圈子時,都創建一個類的實例。 要創建一個圈子課程,這是我目前擁有的
circle c1 = new circle(radius);
但是此對象是在編寫代碼時靜態創建的,因此當用戶想要創建新對象時,如何創建類的新實例。
感謝您的任何幫助。 請成為編程新手。
看看它有多簡單
Circle c1 ;
//{
// your users wish and store it in some boolean var .
//}
if (userWantsObjectCreation) {
c1 = new Circle();
}
else {
// your holy logic here instead if object creation .
}
您可以從用戶那里輸入要求“創建圓?輸入Y或N”的輸入,然后使用其他條件
if("Y".equals(input))
{
c1 = new Circle();
}
else{
//something else
}
基本上,您必須將所有創建的圈子存儲在“列表”結構中。
例如:
List<Circle> list = new ArrayList<Circle>();
Circle c1 = new Circle(radius);
list.add(c1);
...
void onUserClickedCreateCircle() {
Circle c = new Circle(15);
list.add(c);
}
void renderAllCirclesOnScreen() {
//Take each circle from the list into variable c
for (Circle c : list) {
drawCircle(c);
}
}
語法如下:
ObjectName obj=Class.forName("object name full name").newInstance();
例如,您有一個名為Car的類,它位於com.toyota包中。 然后,您可以使用以下語句實例化Car對象:
Car car=(Car)Class.forName("com.toyota.Car").newInstance();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.