我正在尝试使用反射获取一个不可见类的实例,即AKA包私有(private)类。我想知道是否有一种方法可以切换修饰符以使其公开,然后使用Class.forName访问它。当我现在尝试这样做时,它会阻止我说我做不到。不幸的是,Class类没有setAccesible方法。 最佳答案 嵌套类-在其他类中定义的类(包括静态和非静态类)内部类-非静态嵌套类(内部类的实例需要外部类的实例存在)非嵌套(顶级)类根据您的问题,我们知道您要访问的构造函数不是公开的。所以你的类可能看起来像这样(A类在某些包中,与我们的不同)packagepackage
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭8年前。Improvethisquestion我应该为private还是protected方法编写JavaDoc?那么私有(private)变量呢?我在我的Java书上看到了类示例,并且private变量是JavaDoc的。所以我不明白JavaDocprivate(或protected)方法是否是一个好习惯。 最佳答案 是的,您应该为私有(private)方法编写JavaDoc,即
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭8年前。Improvethisquestion我应该为private还是protected方法编写JavaDoc?那么私有(private)变量呢?我在我的Java书上看到了类示例,并且private变量是JavaDoc的。所以我不明白JavaDocprivate(或protected)方法是否是一个好习惯。 最佳答案 是的,您应该为私有(private)方法编写JavaDoc,即
我的同事建议让一些Eclipse代码格式和警告设置更加严格。这些更改中的大多数都是有意义的,但我在Java中得到了这个奇怪的警告。这是一些重现“问题”的测试代码:packagecom.example.bugs;publicclassWeirdInnerClassJavaWarning{privatestaticclassInnerClass{publicvoiddoSomething(){}}finalprivateInnerClassanInstance;{this.anInstance=newInnerClass();//!!!this.anInstance.doSomething
我的同事建议让一些Eclipse代码格式和警告设置更加严格。这些更改中的大多数都是有意义的,但我在Java中得到了这个奇怪的警告。这是一些重现“问题”的测试代码:packagecom.example.bugs;publicclassWeirdInnerClassJavaWarning{privatestaticclassInnerClass{publicvoiddoSomething(){}}finalprivateInnerClassanInstance;{this.anInstance=newInnerClass();//!!!this.anInstance.doSomething
我正在阅读JavaConcurrencyinPracticesession4.3.5一书@ThreadSafepublicclassSafePoint{@GuardedBy("this")privateintx,y;privateSafePoint(int[]a){this(a[0],a[1]);}publicSafePoint(SafePointp){this(p.get());}publicSafePoint(intx,inty){this.x=x;this.y=y;}publicsynchronizedint[]get(){returnnewint[]{x,y};}publics
我正在阅读JavaConcurrencyinPracticesession4.3.5一书@ThreadSafepublicclassSafePoint{@GuardedBy("this")privateintx,y;privateSafePoint(int[]a){this(a[0],a[1]);}publicSafePoint(SafePointp){this(p.get());}publicSafePoint(intx,inty){this.x=x;this.y=y;}publicsynchronizedint[]get(){returnnewint[]{x,y};}publics
可能类似于问题,WhycanouterJavaclassesaccessinnerclassprivatemembers?或Accesstosuperclassprivatefieldsusingthesuperkeywordinasubclass.但有一些区别:子类可以访问其父类(并且只能访问最近的父类)的私有(private)成员。给出下面的示例代码:publicclassT{privateintt;classT1{privateintt1;publicvoidtest(){System.out.println(t);}}classT2extendsT1{privateintt2;
可能类似于问题,WhycanouterJavaclassesaccessinnerclassprivatemembers?或Accesstosuperclassprivatefieldsusingthesuperkeywordinasubclass.但有一些区别:子类可以访问其父类(并且只能访问最近的父类)的私有(private)成员。给出下面的示例代码:publicclassT{privateintt;classT1{privateintt1;publicvoidtest(){System.out.println(t);}}classT2extendsT1{privateintt2;
classWithPrivateFinalField{privatefinalStrings="I’mtotallysafe";publicStringtoString(){return"s="+s;}}WithPrivateFinalFieldpf=newWithPrivateFinalField();System.out.println(pf);Fieldf=pf.getClass().getDeclaredField("s");f.setAccessible(true);System.out.println("f.get(pf):"+f.get(pf));f.set(pf,"No