黑马程序员技术交流社区
标题:
问一个关与java中父类和子类的问题
[打印本页]
作者:
smm19930312
时间:
2014-2-23 22:06
标题:
问一个关与java中父类和子类的问题
Employee e = null;
if(tokens[0].equals("E")) {
e = new SalaryEmployee(id, firstName, lastName, title, annualSalary);
} else if(tokens[0].equals("S")) {
e = new Staff(id, firstName, lastName, title, hourlyPayRate, hoursWorked); 、
} else if(tokens[0].equals("T")) {
e = new Temporary(id, firstName, lastName, title, hourlyPayRate, hoursWorked);
}
其中父类是Employee,我用new实例化的对象都是子类,我就想问一下在这种情况下怎么调用子类的方法?
谢谢!这里是要用到子类方法的地方。红色的都是子类里的方法。
for(Employee e : payroll) {
//format their information
sb.append(String.format("%-8s %-20s %-10s %-30s $%8.2f $%8.2f $%8.2f\n",
e.getID(), e.getName(),
e.getType()
, e.getTitle(),
e.getGross()
,
e.getTax()
,
e.getNetpay()
));
}
作者:
chenfc8578
时间:
2014-2-23 23:55
可以强制向下转型:
例如
Employee e = new SalaryEmployee();//转型前父类引用必须指向子类对象
SalaryEmployee s = (SalaryEmployee)e;//将父类引用强制转成子类引用
这样s就可以调用子类方法了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2