Что произойдет при выполнении следующего кода ?

public class Test<T>{

    static class MyTest{
        public MyTest(int k) {
            System.out.println("MyTest created");
        }
    }

    T obj1, obj2;

    public Test(T t, Class<T> cls) throws Exception {

        obj1 = t; // 1

        obj2 = cls.newInstance(); // 2
    }

    public static void main(String[] args) throws Exception {
        MyTest mt = new MyTest(10);
        Test t = new Test(mt, MyTest.class);
    }
}
Explanation
При создании объекта в строке 2 класс MyTest должен обладать конструктором по умолчанию (то есть конструктором без аргументов).

Follow CodeGalaxy

Mobile Beta

Get it on Google Play
Send Feedback
Keep exploring
Java quizzes
Cosmo
Sign Up Now
or Subscribe for future quizzes