草庐IT

private-inheritance

全部标签

java - 如何从子调用父私有(private)方法?

这个问题在这里已经有了答案:Howcanaderivedclassinvokeprivatemethodofbaseclass?(7个答案)关闭7年前。publicclassA{privateintgetC(){return0;}}publicclassBextendsA{publicstaticvoidmain(Stringargs[]){B=newB();//hereIneedtoinvokegetC()}}能否请您告诉我是否可以通过java中的反射来执行sush操作?

java - 抽象类中的私有(private)构造函数

在Java中,在抽象类中使用私有(private)构造函数的目的是什么?在一次审查中我遇到了这个问题,我很好奇,我们需要在什么情况下以这种方式使用构造函数?我认为它可以与抽象类中的另一个构造函数配对使用,但这很简单。也可用于构造超越抽象类的静态内部类。也许还有更优雅的用法? 最佳答案 如果private构造函数是该类的唯一构造函数,那么原因很明确:防止子类化。一些类仅用作静态字段/方法的持有者,并且不想被实例化或子类化。请注意,在这种情况下,abstract修饰符是多余的——有或没有它都不可能进行实例化。正如@JBNizet在下面指

java - Hibernate:通过反射持久属性访问字段 [private java.lang.Integer] 时出错

当我尝试获取实体属性时遇到奇怪的问题:Hibernate:selecttarifklsk0_.IDasID1_12_0_,tarifklsk0_.FK_TARIFasFK_TARIF2_12_0_,tarifservp1_.FK_TARIFasFK_TARIF2_11_1_,tarifservp1_.IDasID1_11_1_,tarifservp1_.IDasID1_11_2_,tarifservp1_.FK_TARIFasFK_TARIF2_11_2_,tarifservp1_.N1asN3_11_2_fromTR.TARIFXKLSKtarifklsk0_leftouterjoi

JDK 7 中有关私有(private)成员访问的 javac 行为更改

此代码使用javacJDK版本1.6.0_33-b03-424编译正常,但使用javacJDK版本1.7.0_06无法编译。publicclassTest{privatefinalinti=0;voidtest(Objecto){if(getClass().isInstance(o)){System.out.println(getClass().cast(o).i);}}}javac输出是:Test.java:6:error:iinTestisdefinedinaninaccessibleclassorinterfaceSystem.out.println(getClass().cas

java - Jackson,使用私有(private)字段和没有注释的 arg-constructor 反序列化类

是否可以使用Jackson反序列化为具有私有(private)字段和自定义参数构造函数的类,而无需使用注释且无需修改类?我知道在Jackson中使用这种组合是可能的:1)Java8,2)使用“-parameters”选项编译,以及3)参数名称与JSON匹配。但默认情况下在GSON中也可以不受所有这些限制。例如:publicclassPerson{privatefinalStringfirstName;privatefinalStringlastName;privatefinalintage;publicPerson(StringfirstName,StringlastName,inta

java - SonarQube 为 lambda 使用提供未使用的私有(private)方法问题

我有以下逻辑;..if(list.stream().filter(MyClass::isEnabled).filter(this::isActive).count()>0){//dosmth}..privatebooleanisActive(MyClassobj){returnbool;}如您所见,流结构中使用了isActive方法,但是当我在Jenkins上构建此类时,我从SonarQube得到了未使用的私有(private)方法问题,它说你应该删除这个多余的私有(private)方法。这是一个错误吗?如果不是,为什么他们还没有在他们的分析结构中包含lambda逻辑?显然,唯一的解决

java - 为什么私有(private)类中有公共(public)方法?

我正在浏览一段代码,它是这样的//comparepointsaccordingtotheirpolarradiuspublicstaticfinalComparatorR_ORDER=newROrder();...privatestaticclassROrderimplementsComparator{publicintcompare(Point2Dp,Point2Dq){doubledelta=(p.x*p.x+p.y*p.y)-(q.x*q.x+q.y*q.y);if(delta0)return+1;return0;}}为什么我们在私有(private)静态类中有这样的公共(pub

java - 使用私有(private)构造函数来防止类的实例化?

现在我正在考虑将一个私有(private)构造函数添加到一个只包含一些String常量的类中。publicclassMyStrings{//Iwanttoaddthis:privateMyString(){}publicstaticfinalStringONE="something";publicstaticfinalStringTWO="another";...}如果我向此类添加一个私有(private)构造函数以防止有人实例化它,是否会有任何性能或内存开销?您认为有必要吗?或者为此目的使用私有(private)构造函数是在浪费时间和代码困惑吗?更新我打算使用私有(private)构

java - 你如何决定定义一个变量 "private"?

我参加了工作面试。面试官问我为什么需要私有(private)变量。如果您通过定义一个变量private来实现某些目标,难道您不能通过定义在java中定义的任何其他访问修饰符来实现同样的目标吗?AccordingtoJavaSpecificationLanguages,Aprivateclassmemberorconstructorisaccessibleonlywithinthebodyofthetoplevelclass(7.6)thatenclosesthedeclarationofthememberorconstructor.Itisnotinheritedbysubclasse

java - Java 中的 OOP : Class inheritance with method chaining

我有一个父类,它定义了一组链接器方法(返回“this”的方法)。我想定义多个子类,它们包含自己的链接器方法,但也“覆盖”父方法,以便返回子类的实例而不是父类。我不想在每个子类中重复相同的方法,这就是为什么我有一个包含所有子类共享的方法的父类。谢谢。classChain{publicChainfoo(Strings){...returnthis;}}classChainChildextendsChain{//Idon'twanttoadda"foo"methodtoeachchildclass/*publicChildChainfoo(Strings){...returnthis;}*/