相关疑难解决方法(0)

有没有办法在Java中模拟C++的"朋友"概念?

我希望能够在一个包中编写一个Java类,它可以访问另一个包中的类的非公共方法,而不必使它成为另一个类的子类.这可能吗?

c++ java accessor friend

182
推荐指数
5
解决办法
7万
查看次数

为什么Java中缺少friend指令?

我想知道为什么Java的设计没有friendC++中提供的指令,以便更好地控制哪些方法和实例变量可以从已定义类的包外部获得.

我没有看到任何实际的原因或任何特定的缺点,它似乎只是一个设计问题,但如果添加到语言中则不会产生任何问题.

java oop friend-class

17
推荐指数
3
解决办法
4147
查看次数

如何将Java API的内部结构隐藏到世界其他地方

我正在开发一个Java Api来做事情(秘密,呃嗯;).

有没有办法隐藏类,以及我的API的内部结构?

我到现在才发现:

  • 使用内部类(丑陋的方式,我不想把所有内容放在类文件中)
  • 一个包中的所有类,以便我可以使用"包"-visibilty(也很难看,我需要更多的包)

例:

---
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)

有任何想法吗?谢谢!

java api design-patterns

14
推荐指数
2
解决办法
9631
查看次数

隐藏jar文件中的类

是否真的不可能在jar文件中隐藏某些类?

我希望不允许直接实例化类以使其更灵活.这个罐子里只能看到工厂(或立面).

除了创建两个项目之外,还有其他办法解决这个问题吗?(两个项目:第一个包含类(实现),另一个引用第一个并包含工厂;后面只引用第二个)

java information-hiding jar facade factory-pattern

10
推荐指数
2
解决办法
1万
查看次数