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 @   草莓小甜心  阅读(99)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示