面向对象高级特性.ppt
《面向对象高级特性.ppt》由会员分享,可在线阅读,更多相关《面向对象高级特性.ppt(28页珍藏版)》请在三一办公上搜索。
1、第5章 面向对象高级特性,5.1 变量多态5.2 非访问控制符 5.3 接口 5.4访问控制符5.5内部类,5.1 变量多态,定义 类型为X的参考变量,其指向的对象类型既可以是X,也可以是X的子类。例如:Student s1,s2;s1=new Student(651003,王五);s2=new Collegian(0810123,张三,计算机);主意:s2就是变量多态。例5-1动态绑定:编译器通过检查变量的类型来确定相关方法能否被调用;而运行时,具体访问的哪个方法被调用由变量指向的对象类型来确定。,5.1 变量多态,改进后的例5-1用途(1)用于异类收集 基于变量多态,可以把具有继承关系的对
2、象集合到同一个数组中。例如:Student s;s=new Student2;s0=new Student(651003,王五);s1=new Collegian(0810123,张三,计算机);,5.1 变量多态,(2)用于方法参数传递 实参是形参的子类对象。例如:在Stack类中的public int search(Object o)类型判断其格式为:对象 instanceof 类该运算符的作用就是判断左边的对象是不是右边的类型,如果是结果为true,否则为false。,5.1 变量多态,参考类型转换总结 即子类向父类的转换可以自动进行,而父类向子类的转换则需要指明,且看是否能转换。1.正
3、确的转换1子类变量给父类变量赋值例5-3 2.错误的转换1父类变量给子类变量赋值例5-4,5.1 变量多态,3.错误的转换2指向父类对象的父类变量强制转换为子类类型例5-54.错误的转换2指向子类对象的父类变量给子类变量赋值例5-65.正确的转换2能正确强制类型转换为子类类型的变量给子类变量赋值例5-7,5.2非访问控制符,5.2.1 static static可以修饰变量、方法。1.类变量(静态变量)类变量和实例变量的区别:类变量可以通过类名访问;实例变量通过对象名进行访问,5.2.1 static static可以修饰变量、方法。1.类变量(静态变量)类变量和实例变量的区别:例5-8,5.
4、2非访问控制符,类变量和成实例变量的内存分布,5.2非访问控制符,2.类方法(静态方法)类方法也不需要创建对象,直接通过类名访问。(1)类方法只能直接访问类变量或方法参数,不能直接访问实例变量。但在非静态的方法中,可以直接访问本类中的静态变量和非静态变量。例5-9(2)静态方法不能直接访问非静态方法。例5-10,5.2非访问控制符,3.类变量的作用例5-11 final可以修饰类、方法和变量 1.修饰类final修饰的类为最终类,不能被继承。例5-12,5.2非访问控制符,2.修饰方法final修饰的方法是最终方法,不能被覆盖。例5-133.修饰变量final修饰的“变量”是字符常量,代表常量
5、,在一次赋值后其值不能改变。例5-14,5.2非访问控制符,5.2.3 abstract abstract可以修饰类和方法。1.修饰类 abstract修饰的类是抽象类,即类中有些内容(方法)还没有定义完整。不能创建抽象类的对象,抽象类一般是用来做父类的,即它可以被其它类继承。abstract与final“相克”,它们不能修饰同一个类。例5-15,5.2非访问控制符,2.修饰方法abstract修饰的方法是抽象方法,也就是只定义了方法头部,没有方法体。例如:abstract void tt();3.修饰类和修饰方法的关系(1)抽象类不一定含有抽象方法,但含有抽象方法的类一定是抽象类。例:改进后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 高级 特性

链接地址:https://www.31ppt.com/p-6613311.html