类作为成员变量类型和接口作为成员变量类型
作者:互联网
类作为成员变量类型
代码:
武器类
public class Weapon {
private String code;
public Weapon() {
}
public Weapon(String code) {
this.code = code;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
英雄类
public class Hero {
private String name;//英雄的姓名
private int age;//年龄
private Weapon weapon;//武器
public Hero(String name, int age, Weapon weapon) {
this.name = name;
this.age = age;
this.weapon = weapon;
}
public Hero() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Weapon getWeapon() {
return weapon;
}
public void setWeapon(Weapon weapon) {
this.weapon = weapon;
}
//英雄攻击的方法
public void method(){
System.out.println("名字"+name+"年龄"+age+"用"+weapon.getCode()+"攻击敌人");
}
}
测试类
public class test {
public static void main(String[] args) {
Hero hero = new Hero();
hero.setName("张三");
hero.setAge(20);
Weapon d = new Weapon("大宝剑");
hero.setWeapon(d);
hero.method();
}
}
运行结果:
接口作为成员变量类型
接口:
public interface Skill {
public abstract void ability();
}
英雄类
public class Hero {
private String name;//英雄的姓名
private Skill skill;
public Hero(String name, Skill skill) {
this.name = name;
this.skill = skill;
}
public Hero() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Skill getSkill() {
return skill;
}
public void setSkill(Skill skill) {
this.skill = skill;
}
//英雄攻击的方法
public void method(){
System.out.println("英雄的名字"+name+"施法技能");
skill.ability();
System.out.println("施法成功");
}
}
测试
public class test {
public static void main(String[] args) {
Hero hero = new Hero();
hero.setName("张三");
hero.setSkill(new Skill() {
@Override
public void ability() {
System.out.println("bu bu bu");
}
});
hero.method();
}
}
标签:Hero,String,成员,name,void,类型,hero,public,变量 来源: https://www.cnblogs.com/aimz01/p/16442803.html