我希望能够在一个包中编写一个Java类,它可以访问另一个包中的类的非公共方法,而不必使它成为另一个类的子类.这可能吗?
我想知道为什么Java的设计没有friendC++中提供的指令,以便更好地控制哪些方法和实例变量可以从已定义类的包外部获得.
我没有看到任何实际的原因或任何特定的缺点,它似乎只是一个设计问题,但如果添加到语言中则不会产生任何问题.
我正在开发一个Java Api来做事情(秘密,呃嗯;).
有没有办法隐藏类,以及我的API的内部结构?
---
package net.my.app;
//this is the Public Access
class MyPublicClass{
public void somePublicFunction(){
//access to not visibil classes
}
}
---
package net.my.app.notvisible:
//this is what i want to hide
class MyNOTPublicClass{
...
}
---
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢!
是否真的不可能在jar文件中隐藏某些类?
我希望不允许直接实例化类以使其更灵活.这个罐子里只能看到工厂(或立面).
除了创建两个项目之外,还有其他办法解决这个问题吗?(两个项目:第一个包含类(实现),另一个引用第一个并包含工厂;后面只引用第二个)