Итак, у меня есть аккуратная небольшая функция, которую я могу использовать для построения объектов, когда мои функции не знают, с какими классами они будут иметь дело. (Да, у меня есть некоторые хорошие использует для этого, прежде чем Soritos или кто-то еще хочет сказать мне, что я нелогично)Java - передать частный класс методу
public static Object Construct(Class type, Class[] params, Object[] values){
//Create an object of any class
try{
Constructor con = type.getConstructor(params);
Object o = con.newInstance(values);
return o;
}
catch(Exception e){
System.out.println("CONSTRUCTOR EXCEPTION");
return null;
}
}
Во всяком случае у меня есть класс, объявленный внутри другого файла класса, который я хочу основной класс, чтобы иметь возможность перейти к этой функции.
public class aClass {
public aClass(String S, String s){
Class c = otherClass.class;
Object o = Functions.Construct(c, new Class[]{String.class, String.class}, new Object[]{S, s});
}
}
class otherClass{
public otherClass(String arg1, String arg2){}
}
Но с этим я получаю исключение. Это потому, что otherClass не отображается для моей функции-конструктора вне этого класса?
Помимо каких-либо комментариев по качеству деревенщина-Goldberg этого кода, вы, вероятно, хотите разместить трассировки стека первым. – Mena
Что смешно в моем коде? Это упрощенный пример моей проблемы. Ну, это то, что он ловит исключение, поэтому я не уверен, что его вызывает. – TheOnlyWAR10CK93
Использовать отладчик? Используйте правильную обработку 'Exception' вместо вашего подавления? Здесь мало что можно ответить, если вы не опубликуете всю проблему, а не только какой-то свалку кода. – Mena