草庐IT

more-private

全部标签

java - 同步:为什么优先锁定一个private final静态对象而不是类的类对象?

简单问题:为什么这是首选:publicclassFoo{finalprivatestaticObjectfoo=newObject();publicstaticvoiddoSomething(){synchronized(Foo.foo){//code}}}关于这个:publicclassFoo{publicstaticvoiddoSomething(){synchronized(Foo.class){//code}}}或者这个:publicclassFoo{publicsynchronizedstaticvoiddoSomething(){//code}}?对我来说,这些看起来基本相

java - Liferay 6.1 的私有(private)成员(member)网站

如何在Liferay6.1中创建一个私有(private)门户网站,只有有效的登录用户才能访问门户的所有部分?Liferay6.1似乎有系统站点的概念,默认为公共(public)站点。我还没有想出一种方法来删除所有公共(public)页面并创建私有(private)页面。 最佳答案 嗯,这是一个艰难的过程。您至少需要一个公共(public)页面供guest用户查看至少登录portlet以便他们登录。对于其余页面,您有多种选择。1)只保留一个guest页面,这将是您的主页,带有登录portlet,供guest用户登录到您的网站。不要保

java - Java 中的兄弟嵌套类可以访问彼此的私有(private)成员

我发现java中的两个嵌套类可以访问彼此的私有(private)成员。为什么会这样?这是错误还是标准规定的?下面的代码编译运行没有错误。publicclassMain{publicstaticvoidmain(Stringargs[]){Aa=newA();a.var1=12;Bb=newB();System.out.println(a.var1);b.printA(a);}privatestaticclassA{privateintvar1;}privatestaticclassB{privateintvar2;publicvoidprintA(Aa){//BaccessesA'sp

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上找到一个类似的问题: