В некоторых случаях нет необходимости создавать объект, чтобы класс вызывал конструкторы и методы.Вы можете вызывать методы класса без создания прямого объекта.Очень просто вызвать конструктор с параметром.
import java.lang.reflect.*;
import java.util.*;
class RunDemo
{
public RunDemo(String s)
{
System.out.println("Hello, I'm a constructor. Welcome, "+s);
}
static void show()
{
System.out.println("Hello.");
}
}
class Democlass
{
public static void main(String args[])throws Exception
{
Class.forName("RunDemo");
Constructor c = RunDemo.class.getConstructor(String.class);
RunDemo d = (RunDemo)c.newInstance("User");
d.show();
}
}
на выходе будет:
Здравствуйте, я конструктор.Добро пожаловать, пользователь
Здравствуйте.
Class.forName ("RunDemo"); загрузит класс RunDemo.
Constructor c = RunDemo.class.getConstructor (String.class); Метод getConstructor () класса Constructor возвращает конструктор, который имеет String в качестве аргумента и его ссылку хранится в объекте 'c' объектаКласс конструктора.
RunDemo d = (RunDemo) c.newInstance ("User"); метод newInstance () класса Constructor создаст экземпляр класса RundDemo и вернет универсальную версию объекта, и он преобразуется в RunDemoТип с помощью Типа литья.
Объект 'd' в RunDemo содержит ссылку, возвращаемую методом newInstance ().