Bir nesneyi dinamik olarak yüklemek ve yeni örnekler oluşturmak ve yayınlar çalıştırmak için kullanmak için bir kod oluşturmaya çalışıyorum. Yeni yüklenen sınıftan şu yöntemi kullanarak bir örnek oluşturabilirim: myClass.newInstance();
. Ama bunu bir tür olarak kullanamıyorum. Örneğin: myClass myObj = new myClass();
Çalışmıyor. Bir şekilde gerçekleştirmek mümkün mü? Derleme zamanında MyIn bilmediğimizeBir sınıfı dinamik olarak yüklemek ve onu bir tür olarak kullanmak mümkün mü?
URL classUrl;
classUrl = new URL("file:///C:/classes/");
URL[] classUrls = { classUrl };
URLClassLoader ucl = new URLClassLoader(classUrls);
Class c = ucl.loadClass("Operation");
Class MyIn = ucl.loadClass("MyInter");
Object o = c.newInstance(); //IT WORKS
System.out.println(((MyIn) o).sum(2, 4)); //IT DOES NOT WORK. Message: MyIn cannot be resolved to a type
Derleme süresinden sonra yüklediğinizde derleme zamanında neden sınıfı kullanamadığınızı mı soruyorsunuz? –
Haklısın ama dinamik olarak yapmanın bir yolunu yapmak istiyorum, dinamik olarak yüklemek yerine onu dinamik olarak yüklemek yerine –
'MyIn 'kodunuzda değişken bir ad ve daha sonra' o 'arayüz türüne çevirmeyi deneyin MyIn' - aynı karakterleri buraya not edin! 'MyIn' değişkeninin ismini myIn' gibi daha tipik bir Java’ya değiştirin. Ayrıca, 'MyIn' örneğini kullanarak: 'MyIn örneğim = MyIn.getClass(). Cast (o); 've bunu uygulamanızda başka herhangi bir dinamik olarak yüklenmemiş olan' MyIn 'uygulamasında kullanabilirsiniz. –