类作为成员变量类型和接口作为成员变量类型

类作为成员变量类型

代码:

武器类

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();
}
}
posted @   baimingze  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示