草庐IT

Overriding

全部标签

Java:强制子类覆盖父类(super class)的方法

我怎样才能写一个方法并强制子类覆盖这个方法。在Eclipse中,它应该显示在快速修复对话框中:“添加未实现的方法”。谢谢 最佳答案 HowcanIwriteamethodandforcethesubclassestooverridethismethod.将方法声明为抽象:Eclipse将为所有(未实现的)抽象方法和接口(interface)方法提供“添加未实现的方法”选项。 关于Java:强制子类覆盖父类(superclass)的方法,我们在StackOverflow上找到一个类似的问题

java - Java 中的函数覆盖重载

覆盖和重载有什么区别? 最佳答案 重载:在编译时根据指定参数的数量和类型选择方法签名覆盖:根据目标对象的实际类型(与表达式的编译时类型相反)在执行时选择方法实现例如:classBase{voidfoo(intx){System.out.println("Base.foo(int)");}voidfoo(doubled){System.out.println("Base.foo(double)");}}classChildextendsBase{@Overridevoidfoo(intx){System.out.println("Ch

java - 我可以覆盖一个隐藏的(但公共(public)的)方法并调用它的 super 方法吗?

为了解决Android的WebView的怪癖,我需要重写一个非公共(public)API。api是隐藏的,但它是公开的:/***...**@hidependingAPIcouncilapproval*/publicbooleanselectText(){...}所以我可以通过简单地在我自己的WebView类中声明它来覆盖它,减去@Override:publicbooleanselectText(){...}是否可以从我的覆盖中调用super方法?通常我可以写:publicbooleanselectText(){returnsuper.selectText();}但是方法是隐藏的,所以s

java - 方法不重写或实现父类(super class)型的方法

我正在使用继承和多态性创建一个模拟员工数据库。尝试覆盖父类(superclass)方法时遇到以下错误。HourlyEmployeeisnotabstractanddoesnotoverrideabstractmethodresetWeek()inEmployeepublicclassHourlyEmployeeextendsEmployee^HourlyEmployee.java:43:error:methoddoesnotoverrideorimplementamethodfromasupertype@Override^HourlyEmployee.java:54:error:met

java - JerseyTest 和 JUnit 抛出 NullPointerException

我在jersey测试框架方面遇到了一些问题。如果我使用@Before和@After注释,则目标方法将抛出NullPointerException。我以为JerseyTest与JUnit一起工作?我的问题在哪里?Jersey:2.12JUnit:4.11失败的代码:publicclassMyResourceTestextendsJerseyTest{@BeforepublicvoidsetUp(){}@AfterpublicvoidtearDown(){}@OverrideprotectedApplicationconfigure(){returnnewResourceConfig(My

Java 抽象类字段覆盖

我有一个抽象类应该实现一个公共(public)字段,这个字段是一个接口(interface)或另一个抽象类。像这样:publicabstractclassGenericContainer{publicGenericChildchild;}publicabstractclassGenericChild{publicintprop1=1;}publicabstractclassSpecialChildextendsGenericChild{publicintprop1=2;}现在我有另一个专门的容器类:publicabstractclassSpecialContainerextendsGe

java - 有效的 Java 项目 17 : How can overriding removeRange() improve performance?

在JoshuaBloch的EffectiveJava一书中,讨论了类如何提供“明智选择的protected方法”作为其内部工作的Hook。然后作者引用了AbstractList.removeRange()中的文档:ThismethodiscalledbytheclearoperationonthislistanditssubLists.Overridingthismethodtotakeadvantageoftheinternalsofthelistimplementationcansubstantiallyimprovetheperformanceoftheclearoperatio

java - 覆盖属性

当您重写一个方法时,您必须保留该方法的签名并且不能降低它的可见性。现在我尝试使用属性执行此操作时会发生什么。我很惊讶-它有效!看看你自己:publicclassA{publicIntegermyAttribute;}publicclassBextendsA{publicStringmyAttribute;}publicclassMain{publicstaticvoidmain(String[]args){Bb=newB();b.myAttribute="myString";((A)b).myAttribute=1337;System.out.println(b.myAttribute

java - 当我通过反射创建对象时,如何重写 Java 中的方法?

在Java中,是否可以覆盖您使用反射创建的类中的方法?例如,假设我有以下类(class):publicclassMyObject{publicStringfoo,bar;publicMyObject(Stringfoo){this.foo=foo;this.bar=foo+"bar";}publicvoidsetBar(Stringbar){this.bar=bar;}}在一个类中,我想直接创建它并重写它的setBar方法,如下所示:MyObjectobj=newMyObject("something"){@OverridepublicvoidsetBar(Stringbar){thi

java - Eclipse:使用@Override 时总是注意到错误

这个问题在这里已经有了答案:'MustOverrideaSuperclassMethod'ErrorsafterimportingaprojectintoEclipse(13个答案)关闭9年前。不知道为什么每次实现一个类。当我使用@Override时,Eclipse总是注意到错误:themethodAoftypeBmustoverrideasuperclassmethod(方法A是我覆盖的方法,B是我使用的当前类)并且Eclipse推荐删除@Override但使用相同的代码,我在Idea上工作,没有发现错误。谁能告诉我原因谢谢:)@Edit:哦,我没有发布确切的代码,因为当我实现某事时