JavaSE-11.4【综合案例-多态&抽象类&接口】

 

 

 

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package day2.yubaby04;
 
/*
4 综合案例-多态&抽象类&接口
 */
 
public class PersonDemo {
 
    public static void main(String[] args) {
        PingpangPlayer ppp = new PingpangPlayer();
        ppp.setName("java");
        ppp.setAge(23);
        System.out.println(ppp.getName() + "," + ppp.getAge());
        ppp.eat();
        ppp.study();
        ppp.speak();
 
        PingpangCoach ppc = new PingpangCoach("avaj", 44);
        System.out.println(ppc.getName() + "," + ppc.getAge());
        ppc.eat();
        ppc.teach();
        ppc.speak();
 
        BaketballPlayer bbp = new BaketballPlayer("C++", 30);
        System.out.println(bbp.getName() + "," + bbp.getAge());
        bbp.eat();
        bbp.study();
 
        BaketballCoach bbc = new BaketballCoach();
        bbc.setName("++C");
        bbc.setAge(50);
        System.out.println(bbc.getName() + "," + bbc.getAge());
        bbc.eat();
        bbc.teach();
    }
 
}

  

1
2
3
4
5
6
7
8
package day2.yubaby04;
 
public interface SpeakEnglish {
 
//    public abstract void speak();
    void speak();
 
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package day2.yubaby04;
 
//抽象人类
public abstract class Person {
 
    private String name;
    private int age;
 
    public Person() {
    }
 
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
    public String getName() {
        return name;
    }
 
    public int getAge() {
        return age;
    }
 
    public abstract void eat();
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package day2.yubaby04;
 
//抽象运动员类
public abstract class Player extends Person{
 
    public Player() {
    }
 
    public Player(String name, int age) {
        super(name, age);
    }
 
    public abstract void study();
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package day2.yubaby04;
 
//抽象教练类
public abstract class Coach extends Person{
 
    public Coach() {
    }
 
    public Coach(String name, int age) {
        super(name, age);
    }
 
    public abstract void teach();
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package day2.yubaby04;
 
public class BaketballCoach extends Coach{
 
    public BaketballCoach() {
    }
 
    public BaketballCoach(String name, int age) {
        super(name, age);
    }
 
    @Override
    public void teach() {
        System.out.println("篮球教练教打篮球");
    }
 
    @Override
    public void eat() {
        System.out.println("篮球教练吃篮球吗");
    }
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package day2.yubaby04;
 
public class PingpangCoach extends Coach implements SpeakEnglish{
 
    public PingpangCoach() {
    }
 
    public PingpangCoach(String name, int age) {
        super(name, age);
    }
 
    @Override
    public void eat() {
        System.out.println("乒乓球教练教打乒乓球");
    }
 
    @Override
    public void teach() {
        System.out.println("乒乓球教练吃乒乓球吗");
    }
 
    @Override
    public void speak() {
        System.out.println("乒乓球教练说英语");
    }
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package day2.yubaby04;
 
public class BaketballPlayer extends Player{
 
    public BaketballPlayer() {
    }
 
    public BaketballPlayer(String name, int age) {
        super(name, age);
    }
 
    @Override
    public void eat() {
        System.out.println("篮球运动员吃乒乓球吗");
    }
 
    @Override
    public void study() {
        System.out.println("篮球运动员学习打篮球");
    }
 
 
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package day2.yubaby04;
 
public class PingpangPlayer extends Player implements SpeakEnglish{
    public PingpangPlayer() {
    }
 
    public PingpangPlayer(String name, int age) {
        super(name, age);
    }
 
    @Override
    public void eat() {
        System.out.println("乒乓球运动员吃篮球吗");
    }
 
    @Override
    public void study() {
        System.out.println("乒乓球运动员学习打乒乓球");
    }
 
 
    @Override
    public void speak() {
        System.out.println("乒乓球运动员说英语");
    }
}

  

posted @   yub4by  阅读(62)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示