草庐IT

Private_dirty

全部标签

java - 如何在 Java 中的两个包之间共享包私有(private)数据?

我有2个Java包,A和B。假设包B中的一些类想要使用包A中的一些类,但是,当开发人员出现并开发包C(或者说,应用程序C)时,他/她将使用我的包B,但我不希望他/她能够使用B正在使用的A中的类。也就是说,我希望包A中的类是包私有(private)的,这样它们对应用程序开发人员是隐藏的。但是,我确实希望我自己的包B能够访问那些包私有(private)的类。这可以用Java完成吗?我基本上只需要硬着头皮公开这些类,只希望用户不要尝试使用它们吗?或者,我是否需要在B中复制A中的类?我的偏好是不是hack-y的东西(即我不想使用反射)。帮忙? 最佳答案

java - 私有(private)接口(interface)

我们如何在代码中使用私有(private)接口(interface)的方法?抽象类是无法实例化的东西。所以,如果我们需要使用抽象类的方法,我们可以继承并使用它们的方法。但是,当我们谈论接口(interface)时,我们需要实现它们才能使用它们的方法。 最佳答案 private关键字表示“同一类(class)的任何人”:publicclassFoo{privateinterfaceX{...}privateclassX1implementsX{...}}这意味着在Foo中声明的所有类可以使用接口(interface)Foo.X.一个常

java - 为什么java.util.ArrayList中有私有(private)方法outOfBoundsMsg?

这是java.util.ArrayList的片段:/***ConstructsanIndexOutOfBoundsExceptiondetailmessage.*Ofthemanypossiblerefactoringsoftheerrorhandlingcode,*this"outlining"performsbestwithbothserverandclientVMs.*/privateStringoutOfBoundsMsg(intindex){return"Index:"+index+",Size:"+size;}这是来自com.google.collect.Precondit

java - 如何模拟私有(private)内部类

我有一个spring应用程序,我想在像这样的Controller上创建一个单一测试。问题是Wrapper类是private内部类,所以在测试中不理解Wrapper。是否可以在不更改Controller类的情况下使用Mockito模拟它。我可以使用prepareData()来获取对象的实例,但我不知道这是否可用于模拟该对象。谢谢@ControllerpublicclassController{privateclassWrapper{privateObject1field1;privateObject2field2;privateObject1method1(){...}privateOb

java - 在堆中创建的抽象类的私有(private)实例变量在哪里?

abstractclassA{privateinta;publicA(intx){a=x;}publicintgetA(){returna;}}classBextendsA{publicB(intx){super(x);}}classTestB{publicstaticvoidmain(Stringargs[]){Bb=newB(5);System.out.println(b.getA());}}在这种情况下,当我说Bb=newB(5);时,调用父类(superclass)构造函数并将私有(private)实例变量初始化为5。所以当我说getA()在B引用的b对象上返回5。由于clas

java - 静态嵌套类可以完全访问私有(private)外部类成员吗?

更新:这个我还是不太清楚。我试图找到JLS来描述这种行为。相反,我在8.3oftheJLS中找到了这句话:Memberclassdeclarations(§8.5)describenestedclassesthataremembersofthesurroundingclass.Memberclassesmaybestatic,inwhichcasetheyhavenoaccesstotheinstancevariablesofthesurroundingclass;ortheymaybeinnerclasses(§8.1.3).这是否意味着嵌套静态类不应该访问外部类变量?我在哪里可以找

java - 为什么必须将main方法声明为public...为什么JVM不能执行private main方法

通常我在各种书籍中发现main方法应该是公共(public)的,因为它应该对类加载器可见。但是JVM执行(或提供特殊处理)各种私有(private)方法,例如ObjectOutputStream中的readObject/writeObject方法。 最佳答案 很明显,您的程序的入口点应该是可见的。 关于java-为什么必须将main方法声明为public...为什么JVM不能执行privatemain方法,我们在StackOverflow上找到一个类似的问题:

私有(private)方法的 JAVADOC (BlueJ)

我正在使用BlueJ,我想生成整个项目的Javadoc。我想在Javadoc上显示私有(private)方法,有什么办法吗?BlueJ有一个制作Javadoc的工具,但BlueJ忽略私有(private)方法。只是一个约定?如果这是约定俗成,我不明白为什么,他们忽略了“内部”方法,它们也很有用-.-* 最佳答案 Thislink建议BlueJ只会为公共(public)方法和类生成JavaDoc。具体来说:youroutputwillonlycontaininformationaboutpublicmethodsandvariable

java - 我不能在同一行 : private final. ..() 上同时使用两个关键字吗?

我确实知道,当您在java中制作方法final时,它不能被覆盖。当一个方法是私有(private)时,它只能被该方法所在的给定类的方法和成员访问。那么,这是否意味着由于无法访问该方法,因此尝试检查它是否可以被覆盖是没有用的,因为我编写了以下声明并收到以下警告:privatemethodaddCodeisdeclaredfinalprivatefinalvoidaddCode(Stringcode){//codeshere...} 最佳答案 好吧,private意味着除了你之外没有人会访问该方法,final意味着没有人可以重载该方法。

java - 如何让 Jackson mixin 与私有(private)字段一起工作?

我正在尝试使用Jackson2.0mixin来序列化一个没有注释的类。下面是简化的源代码。请注意,我没有使用getters/setters,但似乎我仍然可以使用mixinsaccordingtothedocumentation.publicclassNoAnnotation{privateDatecreated;privateStringname;//makeonewithsomedatainitfortheteststaticNoAnnotationmake(){NoAnnotationna=newNoAnnotation();na.created=newDate();na.name