回顾
14.2 内部类
14.2.1 内部类的基本定义
14.2.3 在方法中定义内部类
学习小结
14.3 匿名内部类
匿名内部类没有名字,创建方式如下:
new 父类构造器(参数列表)| 实现接口(){
// 匿名内部类的类体部分
}
范例 14-11:匿名内部类使用实例
package com.Javastudy2;
/**
* @author Y.W.
* @date 2018年3月12日 下午11:47:24
* @Description TODO 匿名内部类使用实例
*/
public class P366_14_11 {
public static void main(String[] args) {
P366_14_11 test = new P366_14_11();
test.test(new Bird1() {
public int fly() {
return 1000;
}
public String getName() {
return "小鸟";
}
});
}
public void test(Bird1 bird) {
System.out.println(bird.getName() + "最高能飞" + bird.fly() + "米");
}
}
abstract class Bird1 {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public abstract int fly();
}
运行结果:
匿名内部类仅能被使用一次。
14.4 匿名对象
匿名对象,即没有明确的声明对象。
范例 14-12:匿名对象的使用
package com.Javastudy2;
/**
* @author Y.W.
* @date 2018年3月13日 上午12:14:32
* @Description TODO 匿名对象的使用
*/
public class P367_14_12 {
public static void main(String[] args) {
System.out.println(new Person29().talk());
}
}
class Person29 {
private String name = "张三";
private int age = 25;
public String talk() {
return "我是:" + name + ",今年:" + age + "岁";
}
}
运行结果:
思考
匿名的仅能被使用一次!
记于2018年3月13日00:22:04
Yvan