You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

子类未继承超类方法异常咨询:抽象类Loja子类问题排查

解决子类未继承超类方法的问题

嘿,我来帮你排查下子类没继承Loja抽象类方法的问题!结合你给出的Loja代码片段,我整理了几个最常见的原因和解决思路:

  • 方法访问修饰符不对:你Loja里的字段都是private的,但如果父类的方法也是private修饰,那子类是完全继承不到这些方法的。比如如果Loja里有个private void calculaRenda(),子类根本看不到这个方法。解决办法是把需要子类继承的方法改成protected(仅限子类和同包访问)或者public(外部也能访问),比如给area写个公共的getter:

    public double getArea() {
        return area;
    }
    

    这样子类就能正常调用getArea()了。

  • 抽象方法未正确实现:既然Loja是抽象类,如果你在里面定义了抽象方法(比如public abstract void exibeInformacoes();),那所有子类必须强制实现这个方法,否则编译会报错。有时候你可能误以为是“没继承”,其实是没实现抽象方法导致的问题,记得在子类里用@Override注解来实现。

  • 子类继承语法写错了:检查一下子类的定义是不是漏了extends Loja?比如正确的子类写法应该是:

    public class LojaOnline extends Loja {
        // 类逻辑
    }
    

    如果没写extends Loja,那这个类和Loja半毛钱关系都没有,自然拿不到父类的方法。

  • 混淆了static方法的“继承”概念:Loja里有个静态字段rendaFixa,静态方法属于类本身,不是实例方法的继承范畴。子类可以直接调用Loja.rendaFixa或者子类名来访问,但不能像实例方法那样通过子类对象继承调用(严格来说static方法不参与继承机制)。

如果还是找不到问题,建议把子类的代码贴出来,这样能更精准地定位问题~

内容的提问来源于stack exchange,提问作者skidils

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:19:41