文档介绍:第4章类型系统第4章类型系统 2017-2-25 1 学****目标: ?理解类型系统的含义?理解多态性?理解隐式和显式类型转换?了解 Java 模板提供的一般性第4章类型系统?类型系统:一组禁止误用值(原型和对象)的规则?表现:系统规定先声明原型或对象,然后才能使用 2017-2-25 3 int i; Employee fred; int i; Employee fred; 第4章类型系统?不理解值的用法?拼错了值的名称 2017-2-25 4 第4章类型系统?类型系统可以是静态( static ,由编译器完成),也可以是动态( dynamic ,由运行时系统完成) ?静态类型系统禁止编译器间的误用; 动态类型系统在程序运行时检查出现误用 2017-2-25 5 第4章类型系统?多态性( polymorphism )用于变量和消息: ?多态变量表示值在不同时刻表示不同的类型?多态消息表示有多个方法与对象相关 2017-2-25 6 第4章类型系统 2017-2-25 7 Truck t = new Truck( ); Truck t = new Truck( ); 第4章类型系统 2017-2-25 8 Vehicle LandVehicle Train Truck LandVehicle lv = new Truck( ); LandVehicle lv = new Truck( ); LandVehicle lv = new Train( ); LandVehicle lv = new Train( ); lv:多态变量第4章类型系统?任何消息都可以关联多个方法,因为方法在多个类中是独立的,或者方法由子类重新定义 2017-2-25 9 第4章类型系统 2017-2-25 10 Bird b = new Finch(); (someLocation); Bird b = new Finch(); (someLocation); b = new Eagle(); (someLocation); b = new Eagle(); (someLocation); () :多态消息