Вопрос

Я пытаюсь создать экземпляр класса из переменной и написал тестовый код.Но, к сожалению, это не работает.Вот код:

Object co1 = new CommandDownloadHttp();
Class cc1 = Class.forName("CommandDownloadHttp");
Object co = cc1.newInstance();

К сожалению, на второй строке происходит сбой с java.lang.ClassNotFoundException.

Можете ли вы сказать мне, что я делаю неправильно?

Это было полезно?

Решение

Является ли CommandDownloadHttp полный имя класса, т.е.у него нет пакета?Если оно делает есть пакет, включите в него:

Class.forName("foo.bar.CommandDownloadHttp");

(Я предполагаю, что у вас есть более веская причина делать это в вашем реальном коде, кстати - очевидно, что в этом случае вам на самом деле не нужно получать класс путем отражения :)

Другие советы

Ваш класс в пакете?И этот пакет импортированный?Итак, это работает в строке 1.Но вам нужно полное имя в Class.forName("my.package.to.CommandDownloadHttp").

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top