最近,在开发一个swing应用程序时,有人告诉我使用(ComponentClassName) Beans.instantiate(MyClass.class.getClassLoader(), ComponentClassName.class.getName())来创建组件对象,而不是使用"new“。我想知道正确的方法。
发布于 2014-02-21 18:19:28
如果要实例化的类型是动态选择的,则可以使用Beans.instantiate()。通常,new关键字工作得很好,这也是我在Swing应用程序中经常使用的关键字。
发布于 2014-02-21 18:19:37
我认为正确的方法是使用new关键字,毕竟,这就是它的作用。使用Beans的方式似乎有点强制,因为您知道希望实例化哪种类型的类。其次,由于这是一个swing应用程序,您很可能正在使用默认的swing类(可能会扩展其中的一些类)。这种方法的另一个问题是,您的类中必须有一个不带参数的构造函数。Class.forName()可用于与上述代码相同的功能,但如果您不想在运行时动态创建类,请坚持使用关键字new。
https://stackoverflow.com/questions/21931233
复制相似问题