java如何实现方法只能被某些包的类访问?

java如何实现一个方法只能被某些包的类访问,而另一些则不能访问? 或者有什么策略或设计模式可以实现呢?
作为开放API的平台,我们希望某些方法只能被核心包访问,而第三方利用我们的API开发的包(也在我们的平台环境下运行)则不可以访问,但不知如何来做这种限制。

可以使用代理模式啊,把你需要开放给别人的方法作为代理类的方法,而其他方法可以不调用啊

public class A Implements IProxy{

IProxy proxy;

public void method(){
proxy.method()
}

}

同一个类中的不同方法,除了通过方法修饰符之外没有其他的方法可以修改方法访问权限了吧?

为什么不把这些方法提炼出来?如果只是工具方法的话单独提取出来,或者封装为内部类,然后通过修饰符。。。

可以通过OSGI来实现,以OSGI的方式,只向外发布某些包!

从你的问题来看,此需求就是
宽窄接口的设计!
说白了就是给第三方提供一个窄接口,内部使用另外一个接口!