草庐IT

private_class_greeter

全部标签

java - 在 Java 中使用另一个类的私有(private)方法

我有两个类:publicclassClass1{}publicclassClass2{privatevoidsimpleMethod(){/*...*/}}在Class2中,我有私有(private)方法simpleMethod(),我想在同一项目的Class1中使用它。我不想将此方法重命名为public因为我不想在我的API中显示它。我可以创建public方法而不在API中显示它吗?或者,还有什么? 最佳答案 如果Class1和Class2都在同一个包中,您可以简单地删除private修饰符,使方法成为package-privat

java - 当方法的签名定义为 Collection<class> 时,为什么方法不能采用 Collection<subClass>

我有一个获取SResource对象列表的方法publicstaticListlistTriples(Listsubjects){//...dostuff}为什么我不能这样做ListresultsAsList=newArrayList();resultsAsList.addAll(allResults.keySet());//Icouldpossiblenotuselistsandjustusesetsandthereforegetridofthisline,butthatisadifferentissueListtriples=newArrayList();triples=Triple

java - Java内部类的两个问题(class A { class B { } })

抱歉标题不好,但我想不出更好的标题。我有一个A类和一个B类,它是A的子类,如下所示:(真的有正确的名字吗?“子类”不是为继承保留的吗?)classA{inti=0;classB{intj=1;}}classTest{publicstaticvoidmain(){Aa=newA();Bb=a.newB();Ac=???b???//get"a"back}}从B可以访问A的每个属性,因此a.i和b.i都返回0。现在,我想知道是否有可能从b中检索A类型的原始对象,因为b包含所有一个包含?简单的转换显然无法解决问题。第二个:classA{voidprint(){System.out.printl

java - 父类(super class)的私有(private)方法是如何解决的?

classA{privatevoidsayA(){System.out.println("PrivatemethodofA");}publicstaticvoidmain(Stringargs[]){AinstanceA=newB();instanceA.sayA();}}classBextendsA{}我原以为它会抛出一个运行时异常,因为在编译时编译器检查是否可以在A的引用上调用sayA()并在运行时-time它将检查sayA()是否可以在B的对象上调用。但它反而打印了“A的私有(private)方法”。 最佳答案 可访问性是一个

Java:有没有办法强制执行私有(private)方法?

我有5或6个类,我希望它们在内部遵循相同的基本结构。实际上,类应该遵循的大多数只是为了使用函数本身,所以我真的希望这些方法是私有(private)的。有什么办法可以实现吗?我知道接口(interface)会很好用,但它们不会采用私有(private)成员,也不允许您在已实现的方法中重新定义范围。有什么解决方法吗?谢谢 最佳答案 我认为你能得到的最接近的方法是使用一个带有abstractprotected方法的abstract类:abstractclassA{protectedabstractvoidfoo();}classBexte

java - 无需获取/设置即可访问私有(private)属性(property)

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:AbsenceofpropertysyntaxinJava看下面的情况:classTestextendsObject{privateintx;publicgetX(){returnx;}publicsetX(int_x){x=_x;}}如您所见,没什么特别的。但是,我想知道是否有可能以一种使用该类的人不需要使用getX()的方式保留“私有(private)x”,换句话说,如果我可以映射一些自动调用的变量获取和设置。类似于Delphi中的“属性”。它会避免在复杂表达式中使用setX()和getX()的需要,并且

java - 使用 Eclipse,如何在 Content Assist 中隐藏父类(super class)方法?

例如,我有:JPanelpan=newJPanel();然后我做“平移”。eclipse显示内容辅助。在这个内容帮助中,有JPanel类中的所有方法和所有JPanel父类(superclass)中的所有方法(很多)。我希望eclipse仅向我显示JPanel类的方法,而不是其父类(superclass)的方法。怎么做? 最佳答案 它不是内容辅助,但您可以使用Ctrl+O查看没有父类(superclass)的类的所有方法。 关于java-使用Eclipse,如何在ContentAssist

java.lang.ClassFormatError : Duplicate method name&signature in class file 错误

我们正在将我们的应用程序从Weblogic10.3.0升级到10.3.6。当我们尝试部署它时,我们收到错误:java.lang.ClassFormatError:Duplicatemethodname&signatureinclassfile...经过进一步调查,我们发现问题是由如下代码引起的:interfaceFoo{voidfoo();}interfaceBar{voidfoo();}interfaceBazextendsFoo,Bar{}BazEJBimplementsBaz....这会导致在Baz中生成2个foo方法....ELOImpl.class,这会在我们尝试部署ear文

java - 我应该记录不言自明的私有(private)方法吗? ( java )

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion我喜欢正确记录的代码,拥有正确记录的描述契约(Contract)的公共(public)方法对我来说是轻而易举的事,同样适用于解释代码内部/实现的私有(private)或包内部方法。但是我不确定我是否应该使用非公开和非protected方法:遵守所有手续,如参数、返回值和异常的描述如果我应该记录不言自明的私有(private)方法,例如fireSomeEvent,它的作用一目了然,因为这只会

java - Liferay 6.1 - 私有(private)插件安装程序 "disapear"或在控制面板中被禁用

我正在为Liferay6.1EEGA3开发应用程序。在控制面板下,我们有私有(private)插件安装程序部分,我们可以在其中安装/部署新的portlet。我正在使用面板并且该部分工作正常。然后我尝试安装自定义portlet。由于某种原因,安装失败,我从“部署”文件夹中删除了portlet,甚至重新启动了服务器。这个portlet没有做任何特别的事情,它只是针对Liferay的Lucene搜索引擎运行一些自定义查询。然后,在此过程之后,“服务器>插件安装>私有(private)插件安装程序”部分从我的屏幕上“消失”了。下面是我访问“服务器>服务器管理”和“服务器>插件安装”部分时看到的