java 一个类调用另一个类的private方法
10个回答
推荐于2017-09-28 · 知道合伙人数码行家
关注
展开全部
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方法,也可以被调用使用。
定义一个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方法,也可以被调用使用。
展开全部
private方法无法被外部类调用。
解释:
private:代表私有的,修饰变量只能在本类访问,private方法子类不能继承。除此之外,常用的为public:是最大访问权限,可以被项目中的任意类进行方法调用。
解释:
private:代表私有的,修饰变量只能在本类访问,private方法子类不能继承。除此之外,常用的为public:是最大访问权限,可以被项目中的任意类进行方法调用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
私有的只有自己能用,或者你通过反射去调用(这个没有必要);其实就可以通过在你B类中写一个public的方法,在这个方法中去调用B中的private方法。
我想你是想用单例么?如果是,你去查看一下单例的写法……
我想你是想用单例么?如果是,你去查看一下单例的写法……
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不能直接调用,你可以在B中的一个公共的方法把值传递给private的方法,在通过B中该方法将值返回。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以在B类里增加一个public方法,再在新增方法里调用private方法。在A类对象中调用B类的新增public方法不就可以实现了么?
追问
我把方法B改成public了,可是又提醒我要把方法B改成static
追答
你不要修改原有的方法B ,新增一个放在,再调用方法B 试试
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询