本文为在How2j的学习总结,只代表个人见解,如有不妥,望指出以便更正。
- 接口
在设计LOL的时候,进攻类英雄有两种,一种是进行物理系攻击,一种是进行魔法系攻击,这时候,就可以使用接口来实现这个效果。
设计两种接口AD和AP:
package LOL_test;
// 接口就像是一种约定,我们约定某些英雄是物理系英雄,那么他们就一定能进行物理攻击
public interface AD {
// 物理伤害
public void physicAttack();
// 声明一个方法physicAttack物理攻击,但是没有方法体,是一个空方法
}
package LOL_test;
public interface AP {
public void magicAttack();
}
实现接口在语法上的关键字为implements:
package LOL_test;
//设计一类英雄,既能够使用物理攻击,又能使用魔法攻击
//ADAPHero继承了Hero类
//实现某个接口,相当于承诺了某种约定
//所以,实现了AD,AP这两个个接口,就必须提供AD接口中声明的方法physicAttack()和AP接口中声明的方法magicAttack()
//实现在语法上的关键字为implements
public class ADAPHero extends Hero implements AD,AP{
@Override
public void magicAttack() {
System.out.println("进行魔法攻击");
}
@Override
public void physicAttack() {
System.out.println("进行物理攻击");
}
}