例如:
package 匿名内部类;
public class DemoMain {
public static void main(String[] args) {
// 创建一个英雄角色
Hero hero = new Hero();
// 为英雄起一个名字,并且设置年龄
hero.setName("盖伦");
hero.setAge(20);
//创建一个武器对象
Weapon heapon = new Weapon("霜之哀伤");
// 为英雄配备武器
hero.setWeapon(heapon);
hero.attack();
}
}
package 匿名内部类;
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;
}
}
package 匿名内部类;
public class Hero {
private String name; // 英雄名字
private int age; // 英雄的年龄
private Weapon aeapon; // 武器
public Hero() {
}
public Hero(String name, int age,Weapon seapon) {
this.name = name;
this.age = age;
this.aeapon = seapon;
}
public void attack(){
System.out.println("年龄为"+age+"的"+name+"用"+aeapon.getCode()+"攻击敌方。");
}
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 aeapon;
}
public void setWeapon(Weapon qeapon) {
this.aeapon = qeapon;
}
}
注意参数的对应:
将Weapon类中的String类 code赋值霜之哀伤。
用hero调用Hero类中的Weapon,用对象名heapon作为参数传递进去。
()中相当于接收heapon,用个对象名qeapon来表示。
将qeapon 赋给this.aeapon,这里的aeapon名字要跟
中的aeapon一致。
这里的this.aeapon = seaon; 可以省略不写。
运行结果: