如何将Java API的内部结构隐藏到世界其他地方
发布时间:2020-05-24 16:46:22 所属栏目:Java 来源:互联网
导读:我正在开发一个 Java Api来做事情(秘密,呃,他们). 有没有办法隐藏类,以及API的内部结构? 我到现在为止发现: 使用内部类(丑陋的方式,我不想把全部放在类文件中) 所有类在一个包中,以便我可以使用“包”-visibilty(也丑陋,我需要更多的包) 例: ---package ne
|
我正在开发一个 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{
...
}
---
有任何想法吗? 解决方法>使用界面来定义你的应用程序 >创建主入口点以访问服务,仅返回接口 >我不会打扰实际隐藏实现类.你永远不会真的将它们隐藏在Java中,那些技术上有兴趣的人可能只是用一个调试器启动你的应用程序.例如,不提供公共构造函数 关于这个评论:
实现我的第二个项目符号的一种方法就是使用一个服务查找类,例如 public class Lookup {
private static final Foo foo = new FooImpl();
public static Foo getFoo() {
return foo;
}
}
Foo是一个接口,FooImpl是一个实现类(如果要强制它不能被客户端实例化,它可以是私有的) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
