猿问

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

我将在这里举一个例子。我知道 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 方法?


所以如果它有其他英雄,比如雷神、钢铁侠、美国队长……等等,他们都应该有自己独特的方法。如果我想通过实例访问它,这些所有独特的方法都需要在父类复仇者类中吗?(我正在尝试将实例的数据类型设置为“复仇者联盟”,这样我就可以轻松处理“参数”和“参数”。)


阿波罗的战车
浏览 167回答 2
2回答

慕哥9229398

你可以做的是使用接口。例如,定义:public interface Superhero {&nbsp; &nbsp; void superpower();}然后让雷神执行Superhero,然后执行superpower任何thunderSkill操作。为了让你的英雄拥有更多的力量,你可以有另一个界面:public interface Superpower {&nbsp; &nbsp; void useSuperpower();}然后有Thunderskill实施Superpower,并让Avenger类拥有一个List<Superpower>,然后你可以相应地填充它。
随时随地看视频慕课网APP

相关分类

Java
我要回答