一、接口
// 接口 interface
// 实现接口,使用implements
// 接口中方法无内容
// 如何用?什么情况下用?用接口的意义?用得多了就明白了
// 某个类实现接口,必须提供接口中所有的方法
// 接口,多态(以后会说到)的概念较难理解,循序渐进,多使用,多吃几口才会变大胖子
二、创建接口
1、创建
// 建工程->建包->建接口
//(1)File->Java Project(Project1)
//(2)Project1->new->Package(package1)
//(3)package1->new->Interface
// 2 默认工程下
// File->new->interface
2、实操
// 接口像一个约定,某个类实现接口,必须提供接口中所有的方法;
// 类和对象中,攻击类英雄,有物理攻击英雄,有魔法攻击英雄,物理攻击英雄进行物理攻击,魔法攻击英雄进行魔法攻击;
// 通过接口实现,攻击类英雄继承英雄类,实现接口。
英雄类:
package ia1_interface;
public class Hero {
protected String name;
protected float hp;
protected int armor;
protected int moveSpeed;
}
(1)物理攻击接口,设计物理攻击英雄实现物理攻击
物理攻击接口:
package ia1_interface;
// 物理攻击接口
public interface AD {
public void phsyicAttack(); // 物理攻击方法
}
物理攻击英雄实现物理攻击:
package ia1_interface;
public class ADHero extends Hero implements AD{
@Override
public void phsyicAttack() {
// TODO Auto-generated method stub
System.err.println("进行物理攻击");
}
}
(2)魔法攻击接口,设计魔法攻击英雄实现魔法攻击
魔法攻击接口:
package ia1_interface;
// 魔法攻击接口
public interface AP {
public void magicAttack(); // 魔法攻击方法
}
魔法攻击英雄实现魔法攻击:
package ia1_interface;
public class APHero extends Hero implements AP {
@Override
public void magicAttack() {
// TODO Auto-generated method stub
System.err.println("进行魔法攻击");
}
}
(3)设计一类英雄既能实现物理攻击,又能实现魔法攻击
package ia1_interface;
public class ADAPHero extends Hero implements AD,AP{
@Override
public void magicAttack() {
// TODO Auto-generated method stub
System.out.println("进行魔法攻击");
}
@Override
public void phsyicAttack() {
// TODO Auto-generated method stub
System.out.println("进行物理攻击");
}
}
(4)练习
治疗者接口Healer,治疗方法heal(),辅助类英雄Support实现治疗者接口
我的学习源泉:https://how2j.cn/k/interface-inheritance/interface-inheritance-interface/289.html?p=114999
Java自学网站:https://how2j.cn?p=114999
祷文分享:
God grant me the serenity to accept the things I cannot change;
courage to change the things I can;and wisdom to know the difference.
愿上帝赐予我平静,能接纳我无法改变的事;
愿上帝赐予我勇气,能改变我可以改变的事;
并赐予我智慧,让我能分辨这两者的不同。
--美国基督教神学家尼布尔Niebuhr