java_抽象类应用
2016-07-27 18:46
483 查看
本例子通过一个实例来具体阐述抽象类的应用,首先一个抽象类Person2,里面定义了一些人的共有属性(年龄,姓名),和抽象方法want(),want()方法来具体实现不同的人的需求(学生想要成绩,工人想要工资)。接下来student类和worker类继承Person类,并且实现自己想要的want(),但是人的共有属性(年龄,姓名)就不要再次实现了,这样就大大减少了代码量。
还要记住不要去继承一个已经实现好的抽象类。
运行结果:
还要记住不要去继承一个已经实现好的抽象类。
package com.test; abstract class Person2{ private int age; private String name; public Person2(int age,String name) { this.age = age; this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public abstract void want(); } class Student2 extends Person2{ private int score; public Student2(int age, String name,int score) { super(age, name); this.score = score; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } @Override public void want() { System.out.println("姓名: "+getName()+" 年龄:"+getAge()+" 成绩: "+getScore()); } } class Worker2 extends Person2{ private int money; public void setMoney(int money) { this.money = money; } public int getMoney() { return money; } public Worker2(int age, String name,int money) { super(age, name); this.money = money; } @Override public void want() { System.out.println("姓名: "+getName()+" 年龄:"+getAge()+" 工资: "+getMoney()); } } public class AbsDetail { public static void main(String[] args) { Student2 s = new Student2(10, "小明", 100); s.want(); Worker2 w = new Worker2(35, "大明", 1000000); w.want(); } }
运行结果:
姓名: 小明 年龄:10 成绩: 100 姓名: 大明 年龄:35 工资: 1000000
相关文章推荐
- javaweb学习总结(十八)——JSP属性范围
- java指针和Static
- java原码、反码、补码 那点事
- java 提取曲线图数值并导出excel
- Java同步队列(非阻塞队列与阻塞队列)——java并发容器
- Java数组的几种常用操作方法(排序算法及查找)
- Struts1和Struts2的区别和对比
- springmvc组件总结
- 常见的排序算法,Java实现
- Java 两个整数相除保留两位小数,将小数转化为百分数
- JAVA IO
- Ant自动编译Java project时无法找到rt.jar的处理方法
- java 和c#泛型
- 为什么java的构造方法中this()或者super()要放在第一行
- Java 拷贝文件夹
- 最新spring 4 框架和 security相关包下载
- java语言基础入门——内部类的介绍
- spring 配置触发器
- Java高级-线程同步lock与unlock使用
- Java的4种单例模式