草庐IT

objc_requires_super

全部标签

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

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

java - 父类(super class)方法和接口(interface)默认方法冲突解决

考虑下面的例子,publicclassTestingextendsSupClsimplementsIntf{publicstaticvoidmain(String[]args){newTesting().test();}}classSupCls{publicvoidtest(){System.out.println("FromSupCls");}}interfaceIntf{publicdefaultvoidtest(){System.out.println("FromIntf");}}如您所见,SupCls类和Intf接口(interface)之间没有任何联系。但两者都定义一种通用方

java - 调用 super 构造函数时引用 "this"?

我有一个类A并编写了一个子类B。A只有一个参数化的构造函数。B必须调用A的super构造函数。现在我想使用一个对象作为参数。这个对象应该调用B的方法。所以参数对象必须持有B的引用或者必须是内部类。publicB(){super.(newparameter(this))}现在当我想调用构造函数时...Eclipse说:Cannotreferto'this'nor'super'whileexplicitlyinvokingaconstructor我看到的唯一解决这个问题的方法是设置方法,将“this”实例注入(inject)参数对象。我不想编辑父类(superclass)。你有没有更好的办

java - 如何解决 'Implicit super constructor classA() is not visible. Must explicitly invoke another constructor' ?

我有一个类“ClassA”,它有私有(private)构造函数。publicfinalclassClassA{privateClassA{}publicstaticvoidmain(String[]arg)}{;;;}}现在,我正在扩展“ClassA”类[final关键字在执行此操作之前被删除]publicclassClassBextendsClassA{publicstaticvoidmain(String[]arg)}{;;;}}现在,我得到IplicitsuperconstructorclassA()isnotvisible。必须显式调用另一个构造函数。这是什么意思,如何解决?注

java - 在构造函数重载的情况下如何同时调用 super(...) 和 this(...)?

我以前从来不需要这样做,但由于两者都必须是构造函数中的“第一”行,应该如何处理呢?对于这种情况,最好的重构是什么?这是一个示例:publicclassAgreementextendsPostable{publicAgreement(Useruser,DatadataCovered){super(user);this(user,dataCovered,null);}publicAgreement(Useruser,DatadataCovered,Priceprice){super(user);if(price!=null)this.price=price;this.dataCovered

java - 扩展通用抽象类并正确使用 Super

publicabstractclassAbstractTool{protectedArrayListledger;publicAbstractTool(){ledger=newArrayList();}publicATgetToolAt(inti){returnledger.get(i);}//MorecodeWhichoperatesonLedger...}publicclassToolextendsAbstractTool{publicTool(){super();}}如何正确调用super以传递ATTool的通用到AbstractTool构造函数?看来不管我挑什么AT当我宣布To

java - 方法必须调用 Netbeans 中的 super() 错误

最近我制作了一个Netbeans项目,同时使用了SVN。我看到重复的类错误,并且在控制台中显示java.lang.VerifyError:(class:pie/chart/explorer/PieChartExplorer,method:signature:()V)Constructormustcallsuper()orthis()Couldnotfindthemainclass:pie.chart.explorer.PieChartExplorer.Programwillexit.Exceptioninthread"main"JavaResult:1这是PieChartExplore

java - 从 Java 中的子类构造函数调用父类(super class)

我正在尝试创建一个将字段作为参数的构造函数,然后将其放入存储在父类(superclass)中的字段中。这是我正在使用的代码publiccrisps(Stringflavour,intquantity){this.flavour=super.getFlavour();this.quantity=quantity;}在父类(superclass)中我用初始化了这个字段privateStringflavour;我有一个访问器方法publicStringgetFlavour(){returnflavour;}我收到错误消息“flavour在父类(superclass)中具有私有(private

java - 为什么在尝试使用内部类的方法引用调用父类(super class)的 protected 方法时会出现 BootstrapMethodError?

在Java8中,在包a中有一个父类(superclass)Super和在包b中有一个子类Sub>,他有一个内部类SubInner://Super.javapackagea;publicabstractclassSuper{privatelongvalue;protectedfinalvoidsetValue(longvalue){this.value=value;}}//Sub.javapackageb;publicclassSubextendsSuper{publicvoidfoo(){newSubInner().foo();}privateclassSubInner{voidfoo

java - 为什么当我使用编辑器代码生成器时,eclipse 会自动在构造函数中添加一个 java super() 方法?

当我在java类中编写构造函数时,我通常不会在其中调用super()。当我从eclipse源代码编辑器生成构造函数时,为什么它总是在其中添加super()?在我编写的构造函数中没有默认添加它是我错了吗?如果我决定使用eclipse代码生成器,那么在构造函数中保留super()调用有什么问题吗? 最佳答案 正如@Kon正确指出的那样,无论如何都存在对默认super构造函数的隐式调用(这可以通过使用javap-c检查字节码轻松验证)。如果您不希望Eclipse使其显式化,只需选中构造函数创建GUI底部的“省略对默认构造函数super()