java_抽象类应用

 

   本例子通过一个实例来具体阐述抽象类的应用,首先一个抽象类Person2,里面定义了一些人的共有属性(年龄,姓名),和抽象方法want(),want()方法来具体实现不同的人的需求(学生想要成绩,工人想要工资)。接下来student类和worker类继承Person类,并且实现自己想要的want(),但是人的共有属性(年龄,姓名)就不要再次实现了,这样就大大减少了代码量。

    还要记住不要去继承一个已经实现好的抽象类。

    

 1 package com.test;
 2 
 3 abstract class Person2{
 4     private int age;
 5     private String name;
 6     public Person2(int age,String name) {
 7         this.age = age;
 8         this.name = name;
 9     }
10     public int getAge() {
11         return age;
12     }
13     public void setAge(int age) {
14         this.age = age;
15     }
16     public String getName() {
17         return name;
18     }
19     public void setName(String name) {
20         this.name = name;
21     }
22     public abstract void want();
23 }
24 
25 class Student2 extends Person2{
26     
27 
28     private int score;
29 
30     public Student2(int age, String name,int score) {
31         super(age, name);
32         this.score = score;
33         
34     }
35     public int getScore() {
36         return score;
37     }
38 
39     public void setScore(int score) {
40         this.score = score;
41     }
42 
43     @Override
44     public void want() {
45         System.out.println("姓名: "+getName()+"  年龄:"+getAge()+"  成绩: "+getScore());
46     }
47     
48 }
49 
50 class Worker2 extends Person2{
51 
52     private int money;
53     public void setMoney(int money) {
54         this.money = money;
55     }
56     public int getMoney() {
57         return money;
58     }
59     
60     public Worker2(int age, String name,int money) {
61         super(age, name);
62         this.money = money;
63     }
64 
65     @Override
66     public void want() {
67         System.out.println("姓名: "+getName()+"  年龄:"+getAge()+"  工资: "+getMoney());
68     }
69     
70 }
71 
72 public class AbsDetail {
73 
74     public static void main(String[] args) {
75         Student2 s = new Student2(10, "小明", 100);
76         s.want();
77         
78         Worker2 w = new Worker2(35, "大明", 1000000);
79         w.want();
80     }
81 
82 }

     运行结果:

姓名: 小明  年龄:10  成绩: 100
姓名: 大明  年龄:35  工资: 1000000

 

转载于:https://www.cnblogs.com/UniqueColor/p/5712221.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值