class A{
private void a(){ System.out.println("private of A called"); }}class B extends A{ public void callAa(){ try { System.out.println(Arrays.toString(getClass().getSuperclass().getMethods())); Method m = getClass().getSuperclass().getDeclaredMethod("a", new Class<?>[]{}); m.setAccessible(true); m.invoke(this, (Object[])null); } catch (Exception e) { e.printStackTrace(); } }}编辑:这是一个安静的老帖子,但增加了一些建议
重新考虑您的设计
调用父方法的私有方法,虽然可以通过反射实现,但是不应该这样做。在父对象上调用私有方法可能会使类处于无效状态,并可能导致意外行为。



