抽象类的匿名子类
代码:
package test3;
public class PersonTest {
public static void main(String[] args) {
method(new Student());// 匿名对象
Worker worker = new Worker();
method1(worker);// 非匿名的类非匿名的对象
method1(new Worker());// 非匿名的类匿名的对象
System.out.println("*************************************");
// 创建了一个匿名类的对象:p
Person p = new Person() {
@Override
public void eat() {
System.out.println("我的肚子好饿~");
}
@Override
public void breath() {
System.out.println("看!空气!");
}
};
method1(p);
System.out.println("**************************************");
method1(new Person() {
@Override
public void eat() {
System.out.println("吃美食");
}
@Override
public void breath() {
System.out.println("吃空气!");
}
});
}
public static void method1(Person p) {
p.eat();
p.walk();
p.breath();
}
public static void method(Student s) {
}
}
class Worker extends Person {
@Override
public void eat() {
// TODO Auto-generated method stub
}
@Override
public void breath() {
// TODO Auto-generated method stub
}
}
输出:
人能走路
人能走路
*************************************
我的肚子好饿~
人能走路
看!空气!
**************************************
吃美食
人能走路
吃空气!
本文探讨了如何在Java中使用抽象类Person的匿名子类创建匿名对象,以及区分匿名和非匿名实例的方法。通过实例展示了匿名类的构造和方法调用,并对比了两者在实践中的不同。
84

被折叠的 条评论
为什么被折叠?



