动态创建对象[java]

时间:2015-11-05 07:30:09

标签: java

这可能是一个简单的问题,但我不熟悉编程。我的问题是如何动态创建类的实例。例如,我有一个圆类,它有计算面积和半面积等方法,类构造函数初始化所有类字段,如半径和其他字段。我想要做的是每当用户想要创建一个新的圆圈时创建一个类的实例。要创建一个圆形课程,这就是我目前所拥有的

circle c1 = new circle(radius);

但是当我编写代码时,这个对象是静态创建的,所以当用户想要创建一个新对象时,如何创建一个新的类实例。

提前感谢您的帮助。 请对编程很新。

4 个答案:

答案 0 :(得分:1)

看看它有多么简单

 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 .
 }

答案 1 :(得分:0)

您可以从用户那里获取输入"创建圈子?输入Y或N"然后使用if else条件

if("Y".equals(input))
{
c1 = new Circle();
}

else{
//something else
}

答案 2 :(得分:0)

基本上,您必须将所有创建的圈子存储在“列表”结构中。

例如:

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);
    }
}

答案 3 :(得分:-1)

语法如下:

ObjectName obj=Class.forName("object name full name").newInstance();

例如,您有一个名为Car的类,它位于com.toyota包中。 然后,您可以使用以下语句实例化Car对象:

Car car=(Car)Class.forName("com.toyota.Car").newInstance();