我将在这里举一个例子。我知道 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>,然后你可以相应地填充它。
添加回答
举报
0/150
提交
取消