【发布时间】:2020-02-11 14:39:38
【问题描述】:
我想重用一段用另一个类A的Private方法编写的代码。喜欢
class A
{
private String method(String data){
return "abcd";
}
}
List myList= getListFromSomeSource();
myList.stream()
.map(A::method)
.collect()....etc
【问题讨论】:
-
你不能在定义它的类之外使用私有方法。docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
-
您可以使用reflection 进行操作。但这样做通常是一个非常糟糕的主意。
-
你能在 A 类中修改任何东西或添加东西吗?
-
是的:为什么班级
A' 如此隐秘?method不能是public而不是private吗?它真的在做任何非常私密的事情,以至于无法与世界其他地方分享吗? -
@Jrook 我不是在寻找类似你的链接的东西。我不想创建对象,只想引用方法。我不能修改 A 类。 - 它在一个库中。我不想重写该方法中的逻辑。只是在寻找一种重复使用它的方法。