13得票4回答
外部类访问包私有方法

假设我的包中有一个类org.jake,它有一个默认访问权限的方法(没有修饰符)。那么该方法仅在包内可见。 但是,当有人收到我的框架的jar文件时,有什么阻止他们编写一个新类,并将其包声明为org.jake,然后使用我本应不可见的方法呢? 换句话说,我能做些什么来防止这种情况发生吗?

9得票5回答
在方法签名中公开声明一个包私有类型

这在Java中是可以实现的: package x; public class X { // How can this method be public?? public Y getY() { return new Y(); } } class Y...

9得票3回答
有没有一种方式在Java中执行不安全的代码(禁用安全管理器)?

请不要回复“你不应该这样做”的答案。我不打算在生产代码中使用它,只是为了一些有趣的黑客活动。 在回答this question时,我想运行一些任意不安全的Java代码来娱乐自己。所涉及的代码包括查找Java TreeMap 的 叶子 节点。 运行下面的代码会导致 Exception in...

8得票3回答
移动一个包私有类,我需要考虑它是否是二进制不兼容的吗?

由于在Windows下包名为aux的问题,我将我的库中的辅助类从以下位置移动: de.sciss.scalainterpreter.aux 为了 de.sciss.scalainterpreter 该类是库的私有类,即private[scalainterpreter] object...

7得票3回答
实现接口的枚举, 接口和方法的可见性

我刚刚看到了以下代码,有些惊讶,但我将其转换成了一个简单的SSCEE示例: custompackage.package1.MyEnum.java public enum MyEnum implements MyInterface { CONSTANT_ONE() { ...

7得票2回答
如何仅将类公开给测试类?

我主要是Java开发人员,关于在Kotlin中编写单元测试时的结构问题而疑惑, 假设Kotlin中没有包私有 private 以限制对文件的可见性 internal 以限制对模块的可见性 如何仅将类打开给测试类? 我必须在Kotlin类中编写测试代码还是将类打开到整个模块(内部)?...