读书人

java新手求教类的转换(小弟我也不知

发布时间: 2013-07-08 14:13:00 作者: rapoo

java新手求教,类的转换(我也不知道这是什么)
class Employee{
void expenseAllowance(){
System.out.println("in class Employee!"); }
}
class Manager extends Employee{
void expenseAllowance(){
System.out.println("in class Manager!"); }
}
public class ex{
public static void main(String args[]){
Manager man = new Manager();
Employee emp1 = new Employee();
Employee emp2 = (Employee)man;
man.expenseAllowance();
emp1.expenseAllowance();
emp2.expenseAllowance();
}
}
Employee emp2 = (Employee)man; 这个是什么意思?
还有如果把前两个类中的expenseAllowance()改成静态函数的话,输出为什么不一样了?求教~新人。
[解决办法]
1. 将man引用的对象,强制类型转换为Employee类型。

2. 静态方法的话,是根据索引类型去执行方法的,因此以声明的类型为准(所以我们调用静态方法都是直接以 类名.静态方法名 的方式调用);非静态方法以实例化的对象为准,去操作方法。

[解决办法]

引用:
多态?????


与多态无关哦~

读书人网 >Eclipse开发

热点推荐