首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

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

2013-07-08 
java新手求教,类的转换(我也不知道这是什么)classEmployee{ void expenseAllowance(){System.out.println(

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

[解决办法]

引用:
多态?????


与多态无关哦~

热点排行