فقط تخيل ، إذا كان بإمكانك بسهولة استدعاء طريقة خاصة للفصل ، فهل هذا يعني أن التغليف قد انتهى؟ في الآونة الأخيرة ، كنت أنظر إلى آلية الانعكاس في Java ووجدت أنه يمكن أن تستخدم فعليًا آلية الانعكاس لـ Java لاستدعاء الطرق الخاصة للفئات الأخرى. أما بالنسبة لما يمكن أن يفعله هذا ، فإن الأمر متروك لآراء الناس. .
رمز المثال البسيط الذي كتبته هو كما يلي:
استيراد java.lang.reflect.invocationTargetException ؛ استيراد java.lang.reflect.method ؛/** * Author Thomaslwq * @Varvent Creation وقت: Sep 4 ، 2012 9:53:49 PM غير unalfalArgumentException ، alfortalacces *** ception ، invocationTargetException {class cls = obj.getClass () ؛ // احصل على طريقة خاصة لطريقة الفصل = cls.getDeclaredMethod ("privatemethod" ، null) ؛ method.setAccible (true) ؛ // سيتم الإبلاغ عن خطأ بدون إعداد // استدعاء هذه الطريقة. invoke (OBJ ، NULL) ؛ } الفراغ الثابت العام الرئيسي (سلسلة args []) يلقي SecurityException ، غير aluchicalArgumentException ، nosuchmethodexception ، alfortalacces *** ception ، invocationTargetException {setObjectColor (new MyTest ()) ؛ }} // test class mytest {public void setMyTest () {system.out.println ("setMyTest") ؛ } / ** طريقة خاصة للفئة ** / private void privateMethod () {system.out.println ("method private") ؛ }}الطريقة الخاصة أعلاه (الموصى بها) التي تستخدم آلية انعكاس Java للاتصال بالفصل هي كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.