欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    面向对象高级特性.ppt

    • 资源ID:6613311       资源大小:302.14KB        全文页数:28页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    面向对象高级特性.ppt

    第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)用于异类收集 基于变量多态,可以把具有继承关系的对象集合到同一个数组中。例如: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.正确的转换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.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-14,5.2非访问控制符,5.2.3 abstract abstract可以修饰类和方法。1.修饰类 abstract修饰的类是抽象类,即类中有些内容(方法)还没有定义完整。不能创建抽象类的对象,抽象类一般是用来做父类的,即它可以被其它类继承。abstract与final“相克”,它们不能修饰同一个类。例5-15,5.2非访问控制符,2.修饰方法abstract修饰的方法是抽象方法,也就是只定义了方法头部,没有方法体。例如:abstract void tt();3.修饰类和修饰方法的关系(1)抽象类不一定含有抽象方法,但含有抽象方法的类一定是抽象类。例:改进后的5-15,5.2非访问控制符,(2)如果子类没有实现抽象类中所有的抽象方法,那么子类要定义为抽象类。例4.抽象类的作用抽象类的作用就是做父类。例5-16:作为一个公司可能有很多种交通工具,编程计算每天所有交通工具的耗油总量。,5.3接口,说明 Java通过接口来弥补它单重继承的不足,接口之间是多重继承,即一个接口可以有多个父接口,而且一个类可以实现多个接口。接口定义 接口定义的格式:interface 接口名 接口体,5.3接口,接口中的方法不给出方法体,是抽象方法,即都是public、abstract的方法;接口中只允许定义常量,不允许定义变量,接口中的成员变量都是public、static、final型的;方法的修饰符及变量的修饰符都是可以省略的。例5-17,5.3接口,实现实现接口的格式:class 类名 implements 接口名列表 类体类实现接口意味着类首先要继承接口,然后再重写方法体。一个类实现一个接口,如果该类不是抽象类,则必须实现接口中每个方法,即给出每个方法的方法体。如果一个类同时实现多个接口,接口名之间用逗号隔开。例5-17改进,5.3接口,5.3.4 综合举例例5-18用接口重写例5-16。,5.4访问控制符,限定范围访问控制符是在程序中控制对类以及类的方法和成员变量访问权限的修饰符。当类、方法和成员变量没有访问控制符修饰时,它们具有缺省访问性。,5.4访问控制符,举例例5-191.定义类pub,并将其放入包accs中(1)不同包、非子类 p1.java(2)同一个包 p2.java,5.4访问控制符,(3)非同包中的子类 p3.java说明访问控制符对方法覆盖会产生影响,其规则是:在覆盖时,子类的方法不能比父类的同名方法更难访问。例5-20,5.5内部类,内部类是定义在其它类的内部的一种类,含有内部类的类称为外部类。内部类可分为:非静态内部类、静态内部类、方法内部类、匿名内部类。内部类的主要作用就是直接访问外部类的成员 非静态内部类 非静态内部类在外部类中与外部类的方法处于等同的位置。非静态内部类定义的一般格式:class Outer class Inner,5.5内部类,编译上述代码会产生两个文件:Outer.class和Outer$Inner.class。关于非静态内部类的几点说明:(1)非静态内部类内不允许有任何静态声明。例如下面代码不能通过编译。class Outer class Inner static int a=10;,5.5内部类,(2)在外部类的非静态方法中创建内部类对象。例5-22(3)在外部类的静态方法中创建内部类对象。例5-23(4)相同变量名的区分在内部类的方法中使用局部变量可以直接使用变量名,用“this.变量名”表示内部类的成员变量,用“外类名.this.变量名”表示外类的成员变量。例5-24,5.5内部类,(5)修饰符非静态内部类可用的修饰符有:public、protected、private、final、abstract。例如:class Outer3 public abstract class Inner;,5.5内部类,静态内部类 当内部类用static修饰时,就成为静态内部类。(1)创建静态内部类对象时,不用事先创建外部类的对象。例5-25(2)静态内部类只能直接访问外部类的静态成员,不能直接访问外部类的非静态成员,如果一定要访问,必须通过外部类的对象进行访问。例5-26,5.5内部类,方法内部类把类定义在方法内,就称为方法内部类。方法内部类的作用域与局部变量相同,只能在本方法内被访问。例5-27 匿名内部类匿名内部类是没有名字的内部类,它继承了某个类或实现了某个接口。它只有类的主体部分,没有类的声明,类的主体部分紧跟new。例5-28,作业,定义一个类shape,它有个抽象方法getArea().这个类有三个子类分别是:circle,rectangle and triangle。每个子类都有构造器初始化属性(用来计算面积),并都重写了方法getArea(),以此来计算自己的面积。写一个主类,计算三种图形的面积之和。,

    注意事项

    本文(面向对象高级特性.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开