Метод newInstance()
в java.lang.Class
создает экземпляр класса, используя конструктор без аргументов - так что нет, два JFrame
s будут идентичны.
Метод Class.newInstance()
становится важным, когда объект Class
создается с использованием имени класса во время выполнения - например, имени класса, считываемого из файла. Тогда вы можете сказать
String theClassName = ...;
Class clazz = Class.forName(theClassName);
Object o = clazz.newInstance();
Теперь у вас есть экземпляр класса, имя которого не было известно, когда этот код был скомпилирован. Если вы знаете (по соглашению), что названный класс реализует некоторый интерфейс или расширяет некоторый класс, то вы можете привести Object
к этому интерфейсу или классу и использовать его таким образом. Так, например, контейнеры сервлетов загружают сервлеты, как описано в файлах конфигурации, или веб-браузеры загружают апплеты, названные в HTML.