-5

你好!我正在尝试创建一个 java 块,它允许我根据从数组调用的字符串调用类 - 但是,不幸的是,我似乎无法让它工作。如果有人可以提供帮助,我将不胜感激,我已经包含了到目前为止我已经散列的代码......

public class ProcrastinatorPanel extends JPanel {

    String[] room = {
             "Hallway", "Bathroom", "Study", 
             "Bedroom", "Dining Room", "Living Room", 
             "Kitchen", "Playroom", "Bathroom", "Garage" };

    int roomNumber = 0;

    public ProcrastinatorPanel() {

        Hallway.hallway = new Hallway();
        Class roomClass = Class.forName(room[roomNumber]);
    }
}
4

2 回答 2

2

要使该Class.forName()方法正常工作,您需要向它传递一个表示完全限定类名称的字符串。例如"com.mycompany.main.Hallway"

您也可以尝试制作一个Classes 数组而不是字符串数组。为了让您开始,表达式Hallway.class将评估为 Hallway 类

也正如专业人士指出的那样Hallway.hallway = new Hallway()是行不通的。代码应为Hallway hallway = new Hallway(). Hallway是变量的类型,hallway是名称。

于 2013-06-12T18:59:29.953 回答
0

Class.forName() 需要完全限定的类名。

我也没有看到任何捕获/抛出 ClassNotFoundException 异常。您提到的代码是否完整?

于 2013-06-12T19:01:02.547 回答