问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中, 怎么调用别的类的私有方法?

发布网友 发布时间:2022-04-30 16:11

我来回答

4个回答

热心网友 时间:2022-06-27 03:55

  利用反射即可调用;
简易实例代码如下:
  import java.lang.reflect.InvocationTargetException;
  import java.lang.reflect.Method;

  /**
  * @author thomaslwq
  * @version 创建时间:Sep 4, 2012 9:53:49 PM
  * 类说明
  */
  public class ReflectionTest {
  
  public static void setObjectColor(Object obj) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAcces***ception, InvocationTargetException{
  Class cls = obj.getClass();
  //获得类的私有方法
  Method method = cls.getDeclaredMethod("privateMethod", null);
  method.setAccessible(true); //没有设置就会报错
  //调用该方法
  method.invoke(obj, null);
  }
  public static void main(String args[]) throws SecurityException, IllegalArgumentException, NoSuchMethodException, IllegalAcces***ception, InvocationTargetException{
  
  setObjectColor(new MyTest());
  }
  }
  //测试类
  class MyTest{
  
  
  public void setMyTest(){
  System.out.println("setMyTest");
  }
  /**
  类的私有方法
  **/
  private void privateMethod(){
  System.out.println("调用了 private Method");
  }
  
  }

热心网友 时间:2022-06-27 03:55

可以通过反射的方法首先通过 Class c = Class.forName("A");然后Method m = c.getDeclaredMethod("method"); 再设置方法可见. m.setAccessible(true);最后 m.invoke(c.newInstance(), null);反射可以拿到类的所有方法, 只是有些可见有些不可见. 希望能帮助你。

热心网友 时间:2022-06-27 03:56

改成
public void method()

私有是本类访问,其他类怎么都无法访问到的。

热心网友 时间:2022-06-27 03:56

私有方法只有本类可以用,你可以继承重写这个方法。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
就能定位对方所在位置是真的吗? 我的世界奇怪君的真名是什么 奇怪君的真名叫什 奇怪君真名叫什么? "run-time error 339"? 开机自动弹出一个对话框,要点确定,怎么消除这个? 我的《魔兽世界》出问题了,关于'MSWINSCK.OCX' Run-time error-2147023821 winsock远程通信Component'MSWINSCK.OCX'or .. ...ocx' or one cf its dependencies not correctly regist 苹果手机更新后,晚上充电不是一次充满能设置吗? java反射访问私有方法的的问题 给学生积分可以在黑板上画什么图案 java公共类里的私有方法可以被其他类防问吗? java,构造方法是私有方法吗,可以被子类覆盖吗 写黑板报元旦祝福语应该写什么? 学校黑板报怎么画?什么鼓励初三的简短的利语?鼓励中考? JAVA中构造方法私有化的作用是什么? 如何获取java类里的私有方法 java私有方法能被重载或者重写吗? java中如何调用私有变量或方法 幼儿园开学了欢迎回家的黑板画怎么画 oppor7用什么软件root 我的手机是oppor7请问怎么root啊 为什么手机优酷有些视频不支持投放 oppor7怎样才能获取root 为什么优酷投屏同一个电视剧有的就正常有的显示文件无效? 不想绑定手机号要怎么解除? 话剧《如梦之梦》的票已售空,你抢到了吗? 更改路由ip为10.43.136.1怎么不行 济南都有哪些特产小吃? java中,怎么调用别的类的私有方法 济南特产小吃有哪些 java 私有的属性,方法和公有的介绍一下 在java里子类中公有方法怎么调用私有方法 java类中方法private怎么调用 JAVA中私有化的好处、访问类中私有化成员的方法及其原理。 济南市哪有可以带走的特产啊,小吃一类的,好吃的,能放个两三天 用java怎么编写一个类调用另一个类的私有方法 Java父类中的私有方法是无法在子类中重写吗? java中接口为什么不能定义成私有的方法和属性? java private方法子类可以调用吗 java 有没有 私有类 清洗饮水机的具体方法是什么? csma/cd是什么 CSMA/CD协议的全称是什么? 概念题,什么是csma/cd? 什么是CSMA/CD ?? csma/cd的英文全称怎么写? 什么是CSMA/CD