Java面向对象6-匿名子类和匿名对象

 1 public class AbstractTest {
 2     public static void main(String[] args) {
 3         method(new Student()); //匿名类
 4 
 5         Student stu = new Student();
 6         method1(stu);  //非匿名的类的非匿名对象
 7 
 8         method1(new Student());  //非匿名的类的匿名对象
 9 
10         //创建了一个匿名子类的对象
11         Person p = new Person() {
12             @Override
13             public void eat() {
14 
15             }
16 
17             @Override
18             public void walk() {
19 
20             }
21         };
22 
23 
24     }
25     public static void method(Student s){
26 
27     }
28     public static void method1(Person p){
29 
30     }
31 
32 }
33 
34 abstract class Person{
35     String name;
36     int age;
37 
38     public Person(){
39     }
40 
41     public Person(String name, int age) {
42         this.name = name;
43         this.age = age;
44     }
45 
46     public abstract void eat();
47 
48     public abstract void walk();
49 }
50 
51 
52 class Student extends Person{
53     public Student(){
54 
55     }
56 
57     public Student(String name, int age){
58         super(name, age);
59     }
60 
61     @Override
62     public void eat() {
63         System.out.println("学生吃饭");
64     }
65 
66     @Override
67     public void walk() {
68         System.out.println("学生走路");
69     }
70 
71 }

 

posted @ 2022-05-10 17:18  草莓小甜心  阅读(105)  评论(0)    收藏  举报