java 一个类调用另一个类的private方法

就是一个类A中的方法A,想要调用类B中的方法B,方法B是private的这个能调用么?... 就是一个类A中的方法A,想要调用类B中的方法B,方法B是private的
这个能调用么?
展开
 我来答
pieryon
推荐于2017-09-28 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14411 获赞数:166863
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
Java调用private方法利用的是Java中的类反射机制 。
定义一个class,定义一个内部private方法:
public class PrivateTest {
private void print() {
System.out.println("this is a private method");
}
}
再定义一个class去访问刚才定义的private方法,也就是print()如下
import java.lang.reflect.Method;

public class PrivateTest2 {
public static void main(String[] args) {
try {
Method method = PrivateTest.class.getDeclaredMethod("print", new Class[]{});
method.setAccessible(true);
Method.invoke(new PrivateTest(), new Object[] {});
} catch (Exception ex) {
System.out.println(ex.toString());
}
}
}
利用java的反射机制,即使是private方法,也可以被调用使用。
198901245631
2015-06-01 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1688万
展开全部
private方法无法被外部类调用。
解释:
private:代表私有的,修饰变量只能在本类访问,private方法子类不能继承。除此之外,常用的为public:是最大访问权限,可以被项目中的任意类进行方法调用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yyzloveglq
2013-01-22 · TA获得超过129个赞
知道答主
回答量:93
采纳率:0%
帮助的人:87.8万
展开全部
私有的只有自己能用,或者你通过反射去调用(这个没有必要);其实就可以通过在你B类中写一个public的方法,在这个方法中去调用B中的private方法。
我想你是想用单例么?如果是,你去查看一下单例的写法……
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
巴震轩A4
2013-01-22
知道答主
回答量:18
采纳率:0%
帮助的人:8.8万
展开全部
不能直接调用,你可以在B中的一个公共的方法把值传递给private的方法,在通过B中该方法将值返回。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dashllh
推荐于2017-09-01 · TA获得超过1871个赞
知道小有建树答主
回答量:553
采纳率:0%
帮助的人:164万
展开全部
你可以在B类里增加一个public方法,再在新增方法里调用private方法。在A类对象中调用B类的新增public方法不就可以实现了么?
追问
我把方法B改成public了,可是又提醒我要把方法B改成static
追答
你不要修改原有的方法B ,新增一个放在,再调用方法B 试试
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式