为了账号安全,请及时绑定邮箱和手机立即绑定

关于访问孩子的变量或方法

关于访问孩子的变量或方法

阿波罗的战车 2021-07-19 12:40:48
我将在这里举一个例子。我知道 Thor Class 中的这些方法将覆盖 Avengers Class 中的方法。(我将跳过方法的主体)Class Avengers{   void hit(){   }   void walk(){   }}Class Thor extends Avengers{   void hit(){   }   void walk(){   }   void thunderSkill(){   }} 这是主要的。public static void main(String[] args) {Avengers thor = new Thor();}如果我这样做,使用 'thor' 实例,我可以访问那些 hit() 方法和 walk() 方法。但我无法访问 ThunderSkill() 方法。我意识到只能访问覆盖方法。我的问题是,有没有办法在不覆盖父类复仇者类中的 ThunderSkill 的情况下访问 ThunderSkill 方法?所以如果它有其他英雄,比如雷神、钢铁侠、美国队长……等等,他们都应该有自己独特的方法。如果我想通过实例访问它,这些所有独特的方法都需要在父类复仇者类中吗?(我正在尝试将实例的数据类型设置为“复仇者联盟”,这样我就可以轻松处理“参数”和“参数”。)
查看完整描述

2 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

你可以做的是使用接口。例如,定义:


public interface Superhero {

    void superpower();

}

然后让雷神执行Superhero,然后执行superpower任何thunderSkill操作。


为了让你的英雄拥有更多的力量,你可以有另一个界面:


public interface Superpower {

    void useSuperpower();

}

然后有Thunderskill实施Superpower,并让Avenger类拥有一个List<Superpower>,然后你可以相应地填充它。


查看完整回答
反对 回复 2021-07-29
  • 2 回答
  • 0 关注
  • 166 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信