这样就可以省去多写一个类的麻烦。
步骤 2 匿名子类的构造器
先看一段代码
public static void main(String[] args) {
Fu f = new Fu(){
/** 这里再打一个打括号,就是在匿名子类的构造器中写东西 */
{
setName(“Zi”);
}
@Override
public void eat() {
/** this.getClass为匿名类*/
System.out.println(this.getClass());
System.out.println(this.getName() + " eating…");
}
};
f.eat();
}
这种写法也很奇特,但是真的有用!你可以在生成匿名子类对象的时候,把数据初始化一下。
步骤 3 实战应用1.给HashMap赋初值
Map<String,Object> study = new HashMap<String,Object>(){ {
put(“name”,“java小白翻身”);
put(“url”,“java18.cn”);
}};
System.out.println(study);
这下是真的学到了,因为生成的对象还是Map(因为多态),所以不会有任何影响,赶紧拿去秀翻同事吧~~