一个员工类Employee作为父类,里面有一个show(),打印出姓名和地址.
一个时薪员工类Hourly和月薪员工类Salary继承员工类Employee,他们都有一个salary(),领工资的方法.
然后我在另外一个类里面时薪员工和月薪员工都new了2个新对象出来
分别是:hour1,hour2和salary1,salary2,都初始化了他们的属性:姓名和地址.
这个类里面有一个显示所有员工信息的方法showUsers(),
我怎么显示所有的员工信息?
一个时薪员工类Hourly和月薪员工类Salary继承员工类Employee,他们都有一个salary(),领工资的方法.
然后我在另外一个类里面时薪员工和月薪员工都new了2个新对象出来
分别是:hour1,hour2和salary1,salary2,都初始化了他们的属性:姓名和地址.
这个类里面有一个显示所有员工信息的方法showUsers(),
我怎么显示所有的员工信息?
解决方案 »
- 请教高手 邮件地址的正则表达式
- 字符串反向截取,我的程序怎么又错呢??????
- 求救:如何从控制台退出程序
- 安装jdk1.5出错:提示无法应用转换程序
- 如何实现动态数组?
- FileInputStream中read(b,,)的用法是是什么?解决即给分
- 如何实现JTable中的数据更新
- 菜鸟求救!(non-static variable this cannot be referenced from a static context)
- 通过jdbc-odbc bridge连结数据库问题
- 如何用按钮触发事件以清除session中的变量?
- 学完SE想往JAVAEE方向,但不晓得看什么 求指导
- java.lang.NoSuchMethodError: main
我怎么显示所有的员工信息?你是想问如何自动判断是时薪员工还是月薪员工的对象,自动去调用对应的show()方法打印员工信息吗?
如果是,两个子类需要重写父类的show方法,然后就是运行时绑定技术也就是多态来实现这个的
import java.util.List;public abstract class Employee { private String name;
private String addr; public Employee(String name, String addr) {
super();
this.name = name;
this.addr = addr;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getAddr() {
return addr;
} public void setAddr(String addr) {
this.addr = addr;
} public void show() {
System.out.println("Name: " + name + ", addr: " + addr);
} public abstract void salary(); public static void main(String[] args) {
new Manager().showUsers();
}
}class Hourly extends Employee { public Hourly(String name, String addr) {
super(name, addr);
// TODO Auto-generated constructor stub
} @Override
public void salary() {
// TODO Auto-generated method stub
System.out.println("按月拿工资");
}}class Salary extends Employee { public Salary(String name, String addr) {
super(name, addr);
// TODO Auto-generated constructor stub
} @Override
public void salary() {
// TODO Auto-generated method stub
System.out.println("按小时拿工资");
}}class Manager {
List<Employee> userList = new ArrayList<Employee>(); Manager() {
userList.add(new Hourly("A", "abc"));
userList.add(new Hourly("B", "def"));
userList.add(new Hourly("C", "ghi"));
userList.add(new Hourly("D", "jkl"));
} public void showUsers() {
for (Employee employee : userList) {
employee.show();
}
}
}
还没接触多态该怎么弄呢.
未必我要一个对象调一个show么!