java原始问题创建3(java入门篇:轻松理解java)

这是Java原始问题创建2的延续。

第12章(高级继承)

请创建一个名为 “hero” 的包(将以下所有的类都放在其中)。
创建一个名为 “Hero” 的抽象类,其中包含一个名为 “attack” 的抽象方法和一个名为 “guard” 的抽象方法。
创建一个名为 “Ahero” 的类,它继承自 “Hero” 类,其中包含一个名为 “attack” 的方法(内容为:A攻击)和一个名为 “guard” 的方法(内容为:A防御)。
创建一个名为 “Bhero” 的类,它继承自 “Hero” 类,其中包含一个名为 “attack” 的方法(内容为:B攻击)和一个名为 “guard” 的方法(内容为:B防御)。
创建一个名为 “Main” 的类,其中显示 “Ahero” 和 “Bhero” 的方法。

「問題2」
请创建creature包(将以下所有的类存放在其中)。
创建Creature类(接口声明),并添加run方法。
创建BattleCreature类(继承Creature类,声明接口),并添加attack方法。
创建Goblin类(实现BattleCreature类),并覆盖run方法(内容为:哥布林逃跑了),attack方法(内容为:哥布林攻击了)。
创建Main类,并显示run和attack方法。

给出答案

//問題1
package hero;

public class Main {

        public static void main(String[] args) {
                // TODO 自動生成されたメソッド・スタブ
                Ahero a = new Ahero();
                a.attack();
                a.guard();

                Bhero b = new Bhero();
                b.attack();
                b.guard();
        }
}



//実行結果
A攻撃
A防御
B攻撃
B防御


package hero;

public abstract class Hero {
        public abstract void attack();

        public abstract void guard();
}

package hero;

public class Ahero extends Hero {

        @Override
        public void attack() {
                // TODO 自動生成されたメソッド・スタブ
                System.out.println("A攻撃");
        }

        @Override
        public void guard() {
                // TODO 自動生成されたメソッド・スタブ
                System.out.println("A防御");

        }

}


package hero;

public class Bhero extends Hero {

        @Override
        public void attack() {
                // TODO 自動生成されたメソッド・スタブ
                System.out.println("B攻撃");
        }

        @Override
        public void guard() {
                // TODO 自動生成されたメソッド・スタブ
                System.out.println("B防御");
        }

}

请原谅我,我不能来参加你的派对。非常抱歉,我很遗憾错过这个机会。

//問題2
package creature;

public class Main {

    public static void main(String[] args) {
        // TODO 自動生成されたメソッド・スタブ
        Goblin g = new Goblin();
        g.run();
        g.attack();
    }

}



//実行結果
ゴブリンは逃げた
ゴブリンは攻撃した


package creature;

public interface Creature {

        void run();
}


package creature;

public interface BattleCreature extends Creature {
        void attack();
}
package creature;

public class Goblin implements BattleCreature{

        @Override
        public void run() {
                // TODO 自動生成されたメソッド・スタブ
                System.out.println("ゴブリンは逃げた");
        }

        @Override
        public void attack() {
                // TODO 自動生成されたメソッド・スタブ
                System.out.println("ゴブリンは攻撃した");
        }

}

第13章(多样性)

问题1:
创建monster包(将以下所有的类都放在这里)。
创建Monster类(声明接口),并添加run方法(抽象方法)。
创建Slime类(实现Monster类),并添加run方法(内容为:史莱姆逃跑了)。
创建Goblin类(实现Monster类),并添加run方法(内容为:哥布林逃跑了)。
创建DeathBat类(实现Monster类),并添加run方法(内容为:地狱蝙蝠逃跑了)。

请创建一个Main类,并在run方法中用一行代码调用每个内容。

提示:
– 创建一个名为Monster的数组(包含3个元素)。
– 在每个元素中插入相应的实例。
– 使用增强型for循环调用run方法。

回答问题

//問題1
package monster;

public class Main {

        public static void main(String[] args) {
                // TODO 自動生成されたメソッド・スタブ
                Monster[] monsters = new Monster[3];
                monsters[0] = new Slime();
                monsters[1] = new Goblin();
                monsters[2] = new DeathBat();

                for (Monster mo : monsters) {
                        mo.run();
                }
        }

}



//実行結果
スライムは逃げた
ゴブリンは逃げた
地獄コウモリは逃げた
package monster;

public interface Monster {
         void run();
}
package monster;

public class Slime implements Monster {

        @Override
        public void run() {
                // TODO 自動生成されたメソッド・スタブ
                System.out.println("スライムは逃げた");
        }

}
package monster;

public class Goblin implements Monster {

        @Override
        public void run() {
                // TODO 自動生成されたメソッド・スタブ
                System.out.println("ゴブリンは逃げた");

        }

}
package monster;

public class DeathBat implements Monster {

        @Override
        public void run() {
                // TODO 自動生成されたメソッド・スタブ
                System.out.println("地獄コウモリは逃げた");

        }

}

Java原始问题创建1(Java入门篇:清晰易懂的Java)

Java原始问题创建2(Java入门篇:轻松理解Java)

敬请期待下集

Java入門編でスッキリわかるようにJavaオリジナルの問題を作成しました。

广告
将在 10 秒后关闭
bannerAds