JAVA核心技术 第五章 继承 类、超类、子类 抽象类
2014-03-13 20:59
323 查看
/**
*抽象方法充当占位的角色,它们的具体实现在子类中。
*扩展抽象类可以分两种选择。
*一种是在子类中定义部分抽象方法或抽象方法也不定义,
*这样就必须将子类也标记为抽象类;
*另一种是定义全部的抽象方,这样以来,子类就不是抽象的了。
*
*
*/
*抽象方法充当占位的角色,它们的具体实现在子类中。
*扩展抽象类可以分两种选择。
*一种是在子类中定义部分抽象方法或抽象方法也不定义,
*这样就必须将子类也标记为抽象类;
*另一种是定义全部的抽象方,这样以来,子类就不是抽象的了。
*
*
*/
import java.util.*; public class PersonTest{ public static void main(String[] args) { Person[] people=new Person[2]; people[0]=new Employee("Harry Hacker",50000,1989,10,1); people[1]=new Student("Maria Morris","computer science"); for(Person p:people) System.out.println(p.getName()+", "+p.getDescription()); } } abstract class Person{ private String name; public Person(String n){ name=n; } public abstract String getDescription(); public String getName(){ return name; } } class Employee extends Person{ private double salary; private Date hireDay; public Employee(String n,double s,int year,int month,int day){ super(n); salary=s; GregorianCalendar calendar=new GregorianCalendar(year,month-1,day); hireDay=calendar.getTime(); } public double getSalary(){ return salary; } public Date getHireDay(){ return hireDay; } public String getDescription(){ return String.format("an Employee with a salary of $%.2f",salary); } public void raiseSalary(double byPercent){ double raise=salary*byPercent/100; salary+=raise; } } class Student extends Person{ private String major; public Student(String n,String m){ super(n); major=m; } public String getDescription(){ return "a student majoring in "+major; } }
相关文章推荐
- JAVA核心技术 第五章 继承 类、超类、子类 受保护的对象
- JAVA核心技术 第五章 继承 类、超类、子类 关键字this super 多态 动态绑定
- Java核心技术第五章 继承 笔记
- java核心技术 第五章 继承
- JAVA核心技术 第五章 Object 所有类的超类
- java核心技术学习笔记-第五章-继承
- java核心技术----继承
- 自学java(6)继承类,超类和子类
- 纠错 : 关于书籍<java核心技术 卷I 基础知识 第八版> 第五章 Employee/Manager 两个例子
- Java核心技术(四) —— 继承(2)
- JAVA核心技术学习——流与文件(1.4个抽象类)
- Java核心技术学习笔记第五章
- Java核心技术 卷一 笔记十二 继承的前餐
- java多线程核心技术 第五章 定时器Timer
- JAVA基础【5.5】《Java核心技术1》继承-反射
- 学习笔记——Java核心技术之接口、继承与多态练习题
- Java核心技术I——基础点拾掇(第五章)
- Core Java (十一) Java 继承,类,超类和子类
- java核心技术 抽象类 程序清单5-4 PersonTest.java
- Java 核心技术卷2 第五章 数据库编程