匿名子类对象
匿名對象的意義:一般只使用一次,圖方便,不需要重新寫一個類。
?
匿名類通常都是的形式結構通常都是:
abstract class A ...
創建匿名類:
A a1 = new A(){
重寫所有抽象類的方法
}
package AbstractTest2;
public class Test {
?? ?public static void main(String[] args) {
?? ??? ?
?? ??? ?Person p1 = new Student(); ?//非匿名對象,非匿名的類
?? ??? ?method(p1);
?? ??? ?System.out.println("************");
?? ??? ?method(new Student()); //匿名對象
?? ??? ?System.out.println("************");
?? ??? ?Person p2 = new Person() {
?? ??? ??? ?@Override
?? ??? ??? ?public void eat() {
?? ??? ??? ??? ?System.out.println("人 ?吃飯");
?? ??? ??? ??? ?
?? ??? ??? ?}
?? ??? ??? ?@Override
?? ??? ??? ?public void breath() {
?? ??? ??? ??? ?System.out.println("人 ?呼吸");
?? ??? ??? ??? ?
?? ??? ??? ?}
?? ??? ??? ?// 匿名的類,非匿名對象
?? ??? ?};
?? ??? ?method(p2); ?
?? ??? ?System.out.println("************");
?? ??? ?
?? ??? ?method( new Person() {
?? ??? ??? ?@Override
?? ??? ??? ?public void eat() {
?? ??? ??? ??? ?System.out.println("人 新的吃飯");
?? ??? ??? ??? ?
?? ??? ??? ?}
?? ??? ??? ?@Override
?? ??? ??? ?public void breath() {
?? ??? ??? ??? ?// TODO Auto-generated method stub
?? ??? ??? ??? ?
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ?}); //匿名對象,匿名類
?? ??? ?
?? ??? ?
?? ?}
?? ?
?? ?
?? ?public static void method(Person p) {
?? ??? ?p.eat();
?? ?}
}
總結
- 上一篇: Thymeleaf视图
- 下一篇: 第11章 拾遗3:虚拟局域网(VLAN)