anonymousClass 匿名类

 1 public class DemoClass4AnonymousClass {
 2     public static void main(String[] args) {
 3         //TODO 匿名类
 4         /*
 5         * 在某种场合下,类的名字不重要,我们指向使用类中的方法或功能,那么我们此时使用特殊的语法:匿名类
 6         * 所谓的匿名类,就是没有具体名字的类(接口和抽象类除外)
 7         * 通过抽象类和接口来实现匿名类
 8         * */
 9         Me m = new Me();
10         m.say(new Wangwu());
11         m.say(new Zhaoliu());
12 
13         //抽象类-来实现匿名类的写法
14         m.say(new Person() {
15             public String getName() {
16                 return "zhangsan";
17             }
18         });
19 
20         //接口-实现匿名累的写法
21         new Bird().doFlay();
22         //不关心什么飞,只关系飞
23         new Flay(){
24             public void doFlay() {
25                 System.out.println("人开飞机 飞翔一下");
26             }
27         }.doFlay();
28     }
29 }
30 
31 abstract class Person{
32     public abstract String getName();
33 }
34 
35 class Me{
36     public void say(Person person){
37         System.out.println("Hello "+ person.getName());
38     }
39 }
40 
41 class Wangwu extends Person{
42     public String getName(){
43         return "Wangwu";
44     }
45 }
46 
47 class Zhaoliu extends Person{
48     public String getName(){
49         return "Zhaoliu";
50     }
51 }
52 
53 interface Flay{
54     public void doFlay();
55 }
56 
57 class Bird implements Flay{
58     public void doFlay(){
59         System.out.println("Bird 飞翔一下");
60     }
61 }

 

posted @ 2025-10-13 18:05  字节虫  阅读(13)  评论(0)    收藏  举报