怎么用java在主类中调用另一个类的私有方法

 我来答
匿名用户
推荐于2018-03-12
展开全部
//测试类
class MyTest {

    public void publicMethod(Object o) {
        System.out.println("调用的公共方法 " + o);
    }

    /**
     * 类的私有方法
     */
    private void privateMethod(Object o) {
        System.out.println("调用了私有方法 " + o);
    }

}

新建main方法

import java.lang.reflect.Method;


public class ReflectionTest {

    public static void main(String args[]) throws Exception{

        MyTest myTest = new MyTest();

        // 调用公共方法
        myTest.publicMethod("传入参数");
        // 编译报错
        // myTest.privateMethod();

        // 获得类的私有方法
        Method method = MyTest.class.getDeclaredMethod("privateMethod",Object.class);
        // 开启私有访问权限
        method.setAccessible(true);
        method.invoke(myTest,"传入参数");

    }
}

只能通过反射才能调用私有方法

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式