سؤال

أحاول إنشاء إصدار فئة من المتغير، وكتب بعض رمز الاختبار. ولكن لسوء الحظ، فإنه لا يعمل. هنا هو الرمز:

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