其他分享
首页 > 其他分享> > 类作为成员变量类型和接口作为成员变量类型

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

作者:互联网

类作为成员变量类型

代码:

武器类

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