JAVA 一个类调用另一个类的private方法怎么调?

public class A extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}

public class B{
private void start(){
。。。。。。。。。。
}
}

主类A想调用B类里面的start()方法怎么调用?B是外部类

用反射

    public static void main(String[] args) throws Exception {
        A a = new A();
        a.startB();
    }

    public static class A {
        public void startB() throws Exception {
            Method method;
            method = B.class.getDeclaredMethod("start");
            method.setAccessible(true);
            method.invoke(new B());

        }
    }

    public static class B {
        private void start() {
            System.out.println("B is started.");
        }
    }

new B.start();

类的私有方法是不能被其他类调用到的,类的私有方法只能在自己的方法中调用,这就是类的封装的特点,规定了访问权限。

使用反射 你想怎么用就怎么用

图片说明
在私有方法所属类声明另一个方法来调用该私有方法或许可以解决

直接用反射就可以。
另外,为什么会有这个需求呢、

调不到私有方法的,可以用反射实现

先声明这个类,下面在调用就行