当前位置: 代码迷 >> Eclipse >> java新手求教,类的转换(小弟我也不知道这是什么)
  详细解决方案

java新手求教,类的转换(小弟我也不知道这是什么)

热度:87   发布时间:2016-04-23 01:20:54.0
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. 静态方法的话,是根据索引类型去执行方法的,因此以声明的类型为准(所以我们调用静态方法都是直接以 类名.静态方法名 的方式调用);非静态方法以实例化的对象为准,去操作方法。 

------解决方案--------------------
引用:
多态?????


与多态无关哦~
  相关解决方案