草庐IT

super_package

全部标签

java - 父类(super class)不调用重写的方法吗?

我有以下类(class):classfoo{publicvoida(){print("a");}publicvoidb(){a();}}classbarextendsfoo{publicvoida(){print("overwrittena");}}当我现在调用bar.b()时,我希望它调用foo中重写的方法a()。但是,它确实会打印“a”。 最佳答案 你的两个类在不同的包中吗?你的foo类方法是声明为public、protected、private还是packagelocal?显然,如果他们是私有(private)的,这将行不通。

java - 为什么使用 "this"关键字来获取父类(super class)方法

我看到一些Java示例使用this关键字来获取父类(superclass)方法。示例:this.superClassMethod()。通常情况下我们会使用super。有人可以举例说明为什么开发人员使用this而不是super吗?谢谢你。 最佳答案 this.method()和super.method()没有区别,直到method()得到在调用者的类中覆盖。例如,用classSuperClass{publicvoidmethod(){System.out.println("SuperClass");}}classSubClassext

java - 马文 2 : How to package current project version in a WAR file?

我正在使用Maven2构建我的Java项目,我正在寻找一种方法来向用户显示pom.xml的当前版本号(例如使用Servlet或JSP)。据我所知,最好的方法是Maven将版本号作为文本文件打包到WAR中。这允许我从该文件中读取版本并以我想要的方式呈现它。有人知道可以为我做类似事情的插件吗?也许可以配置WAR插件来这样做?或者一起使用其他一些方法? 最佳答案 我以不同的方式解决了这个问题,因为我希望在服务的索引页面上显示版本、svn修订版等。我使用buildnumber-maven-plugin和war-plugin将值存储在list

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 - 使用 Eclipse,如何在 Content Assist 中隐藏父类(super class)方法?

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

java - CGLIB 无法拦截父类(super class)/超接口(interface)中的方法

可能是我想得不够认真,或者答案真的难以捉摸。快速场景(尝试代码。编译)。考虑一个遗留接口(interface)publicinterfaceLegacyInterfaceNoCodeAvailable{voidlogInfo(Stringmessage);}考虑上述接口(interface)的遗留实现publicabstractclassLegacyClassNoCodeAvailableimplementsLegacyInterfaceNoCodeAvailable{publicabstractvoidexecuteSomething();publicvoidrockItOldSch

java - Hibernate:将子类的实例转换为父类(super class)的实例

假设我有一个名为User的类和一个ExtendedUser类,后者是User的子类。这两个类都使用hibernate(JPA)注释进行映射:用户:@Entity@Table("user-table")@Inheritance(strategy=InheritanceType.JOINED)publicclassUser{@Id@GeneratedValue@Column(name="id")privateIntegerid;@Column(name="name")privateStringname;}扩展用户:@Entity@Table(name="extended-user-tabl

java - 有没有一种特定的方法可以将父类(super class)的某些功能赋予某个子类?

问题我正在尝试创建一个应用程序,其中的对象类可以实现一些来自可用操作总池的操作。最终目标是没有任何代码重复,并尽可能遵守OOP法则。更详细地说,我正在尝试使用Lucene制作一个搜索引擎。卢森使用许多索引。我已经实现了一个简单的结构,其中不同的索引对象继承父类的方法。问题是,无论在该父类中实现什么方法,它都会自动可供所有子类使用。我想为用户提供选项,以确定他是否想进行短语搜索、术语搜索或任何其他可用于that特定索引的内容。问题是,例如,某些索引不应提供进行短语搜索的选项。最初的想法我想过实现一些接近复合模式的东西,正如GoF所描述的那样。我会将搜索操作(例如术语搜索、短语搜索)实现为

java - 从子类更改父类(super class)实例变量的值

我发现我可以在子类中这样做:ParentClass.variable=value;但有人告诉我,更好的做法是使用get/set方法,而不是直接访问类外的变量。尽管这是针对我在另一个类中有该类的实例的情况,而不是针对子类和父类(superclass)。那么有没有更好的方法来做到这一点,哪种方法通常被认为是最佳实践? 最佳答案 您有很多选择。super.field=x您必须有权访问该字段才能执行此操作field=x您必须有权访问该字段才能执行此操作。您也不能在child中有另一个字段,否则只会设置child的字段。setParentFi

java - 对于类型T的方法,它的 'inferred'类型应该是什么当它需要两个<? super T> 争论?

hamcrest库中有一个方法:packageorg.hamcrest.core...publicstaticMatcherallOf(Matcherfirst,Matchersecond){List>matchers=newArrayList>(2);matchers.add(first);matchers.add(second);returnallOf(matchers);}在我的代码中,我用first调用这个方法正在Matcher和second正在Matcher.现在:当我用带有1.6目标的Eclipse编译它时,它生成Matcher.当我用带有1.6目标的javac1.7编译它