欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Java抽象类.ppt

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

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

    Java抽象类.ppt

    抽象类和接口抽象类和接口第第 四四 章章 Java中的抽象类、接口和程序包中的抽象类、接口和程序包抽象类与抽象方法抽象类与抽象方法v抽象类:用abstract关键字来修饰一个类时,该类叫做抽象类;v抽象类必须被继承。v抽象类不能被直接实例化。它只能作为其它类的超类,这一点与最终类(final类)正好相反。v抽象方法:用abstract来修饰一个方法时,该方法叫做抽象方法。v抽象方法必须被重写v抽象方法只有声明,不能有实现。v定义了抽象方法的类必须是抽象类。vabstractreturnTypeabstractMethod(paramlist);抽象类与抽象方法抽象类与抽象方法抽象类和最终类声明抽象类与抽象方法声明抽象类与抽象方法public abstract class PlaneGraphics1/平面图形类,抽象类 public abstract double area();/计算面积,抽象方法,分号“;”必不可少抽象类和最终类v规定:规定:规定:规定:v抽象类不能被直接实例化,只有它的非抽象子类可以创抽象类不能被直接实例化,只有它的非抽象子类可以创建对象建对象v抽象类中不一定包含抽象方法,但有抽象方法的类必定抽象类中不一定包含抽象方法,但有抽象方法的类必定是抽象类是抽象类v抽象类中的抽象方法只是声明,不包含方法体,即不给抽象类中的抽象方法只是声明,不包含方法体,即不给出方法的实现出方法的实现v构造方法、类方法不能声明为抽象方法构造方法、类方法不能声明为抽象方法v抽象类的子类必须给出抽象类中的抽象方法的具体实现,抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类除非该子类也是抽象类抽象类和最终类v抽象类的意义:抽象类的意义:v描述抽象的概念,规定必须实现的方法的统一描述抽象的概念,规定必须实现的方法的统一接口接口v关于抽象类和抽象方法关于抽象类和抽象方法Abstracttest.javav最终类和最终方法最终类和最终方法最终类和最终方法最终类和最终方法vfinal关键字修饰的类称为最终类,最终类不能被继承关键字修饰的类称为最终类,最终类不能被继承vfinal关键字修饰的方法称为最终方法,最终方法不能被关键字修饰的方法称为最终方法,最终方法不能被覆盖覆盖v最终方法和最终类没有必然的对应关系最终方法和最终类没有必然的对应关系Java中的接口中的接口1、含义:、含义:一组只有成员函数原型定义而无成员函数定义体的方法集。一组只有成员函数原型定义而无成员函数定义体的方法集。接口定义了一组成员函数,但没有具体加以实现,其实现则是由实接口定义了一组成员函数,但没有具体加以实现,其实现则是由实现该接口的类来加以具体完成的。现该接口的类来加以具体完成的。2、作用:、作用:为若干个类(相关或无关的类)定义一组相同的功能行为,从而达到相为若干个类(相关或无关的类)定义一组相同的功能行为,从而达到相同的功能名称,不同的功能实现之目的;同的功能名称,不同的功能实现之目的;另外也可以实现类似另外也可以实现类似C+语言中的多重继承但又避免了虚基类的编程。语言中的多重继承但又避免了虚基类的编程。接口的概念接口的概念在构建问题的类过程中,我们经常会遇到一种特殊的情况,在描述某个类的各个方法时,对每个方法我们只能给出其功能实现的要求(原形声明)但不能给出具体的功能实现(函数定义体)。因为我们所处理的问题只是一个泛泛的功能说明,并没有针对某一具体类型的问题来说明。接口定义格式接口定义格式要点:类似于类的定义格式,只是以要点:类似于类的定义格式,只是以 interface作为定义符。作为定义符。格式:格式:接口的类型接口的类型interface接口名接口名常量(并且必须初始化常量(并且必须初始化););成员方法定义(只有原形而无函数定义体成员方法定义(只有原形而无函数定义体););或:或:接口的类型接口的类型interface 派生的接口名派生的接口名extends 父接口名列表父接口名列表 接口中的成员变量定义;接口中的成员变量定义;接口中的成员方法原型定义;接口中的成员方法原型定义;实现接口实现接口q方法:通过定义一个类同时采用implements来指明所实现的接口名,并在该类中重写接口中的所有成员方法且给出成员函数体定义。q要点v类中所实现的接口中的成员函数的原型都应该与它在 接口中的原型定义保持一致;v并在类中重写接口中的所有成员方法;v通过实现接口,从而可扩充或增加该类的功能。v接口只定义方法名,而类实现接口内部的方法的代码v接口的继承只是继承接口本身,而非代码,从而不会产生重复继承多次。注意的v一个类可以实现多个接口一个类可以实现多个接口v实现接口的类必须给出接口中所有方法的具体实现!除非这个类是实现接口的类必须给出接口中所有方法的具体实现!除非这个类是抽象类抽象类vv接口的作用接口的作用接口的作用接口的作用v接口提供了完全的抽象接口提供了完全的抽象v说明所有实现该接口的类应具有的形式说明所有实现该接口的类应具有的形式v接口中的方法在多个实现接口的类中表现出多态性接口中的方法在多个实现接口的类中表现出多态性vv接口回调接口回调接口回调接口回调v接口也是引用数据类型,指向接口的引用也可以指向任接口也是引用数据类型,指向接口的引用也可以指向任意实现了该接口的类创建的实例意实现了该接口的类创建的实例v接口回调,即接口的引用可以指向实现了接口的类的实接口回调,即接口的引用可以指向实现了接口的类的实例例例子:例子:Interfacetest.java例子interface Computerpublic void ComputeData();/计算机应该有数据计算的功能public void SaveData();/计算机应该有存储数据的功能public void PrintData();/计算机应该有打印数据的功能public void DisplayData();/计算机应该有显示数据的功能抽象类和接口的对比抽象类和接口的对比接口和类是很相似但又有区别的一种数据结构,其设计和调用也是JAVA程序设计的一种重要技术。从结构上看,接口有如下特点:接口用interface来定义,而不是class接口中定义的变量去全部是最终的静态变量接口中没有自身的构造方法,不能创建实例,而定义的其他方法全是抽象方法,即提供了方法的定义,但是没有提供方法的实现。接口采用多重继承机制,而不是采用单一的继承机制。接口与抽象类的区别抽象类和接口中主要关心的都是抽象,而不关心具体的实现。但也有一些区别:一个类只能继承一个类,但可以实现多个接口抽象类表示一种继承关系,接口只说明功能二者的区别主要体现在对问题域的理解上抽象类的应用抽象类的应用vabstract class Personv private int ID;vprivate String Name;vpublic abstract void Eat(Food obj);vpublic void Step(Feet obj)vvvpublic void Sleep()vvv在描述某一个问题时,如果只能给出部分的功能实现,而在描述某一个问题时,如果只能给出部分的功能实现,而不能给出全部的功能实现时,应该采用抽象类来描述。不能给出全部的功能实现时,应该采用抽象类来描述。接口接口的应用的应用interface TV public int Size=29;public abstract void showImage();public abstract void setChannel();public abstract void receiveImage();在描述某一个问题时,如果不能给出任何的功能实现,应该采用接口来描述。内部类声明内部类声明内部类在一个类中包含另一个类的定义内部类可以在类、方法甚至语句块中定义内部类可以是private或protected的内部类v内部类作用内部类作用内部类作用内部类作用v与接口一起实现完整的多重继承与接口一起实现完整的多重继承v内部类作用内部类作用InnerClass.javav内部类具有访问外部类的引用内部类具有访问外部类的引用/内部类引用外部类的成员内部类引用外部类的成员public class Inner2class aaint a=1;class bbint b=2;class cc/这对括号必须有,因为类中语句必须包含在一个代这对括号必须有,因为类中语句必须包含在一个代码块或方法体中码块或方法体中int b=4;int c=3;System.out.println(cc);System.out.println(cc.c=+c);System.out.println(bb.b=+bb.this.b);/内部类引用外部类成员内部类引用外部类成员System.out.println(aa.a=+aa.this.a);内部类v匿名内部类匿名内部类v当只需创建一个类的对象而用不上它的名字时,可以使当只需创建一个类的对象而用不上它的名字时,可以使用匿名内部类用匿名内部类v匿名内部类由于没有名字,所以它没有带名字的构造函匿名内部类由于没有名字,所以它没有带名字的构造函数数vjava的匿名的匿名内部类的语法规则看上去有些古怪,当你只语法规则看上去有些古怪,当你只需要创建一个类的对象而且用不上它的名字时,使用内需要创建一个类的对象而且用不上它的名字时,使用内部类可以使代码看上去简洁清楚。它的语法规则是这样部类可以使代码看上去简洁清楚。它的语法规则是这样的:的:vnew interfacename().;或或 vnew superclassname().;v有一点需要注意的是,匿名内部类由于没有名字,所以它有一点需要注意的是,匿名内部类由于没有名字,所以它没有带名字的构造函数(但是如果这个匿名内部类继承了没有带名字的构造函数(但是如果这个匿名内部类继承了一个只含有带参数构造函数的父类,创建它的时候必须带一个只含有带参数构造函数的父类,创建它的时候必须带上这些参数,并在实现的过程中使用上这些参数,并在实现的过程中使用super关键字调用相应关键字调用相应的内容)。如果你想要初始化它的成员变量,有下面几种的内容)。如果你想要初始化它的成员变量,有下面几种方法:方法:v如果是在一个方法内部的匿名内部类,可以利用这个方法如果是在一个方法内部的匿名内部类,可以利用这个方法传进你想要的参数,不过记住,这些参数必须被声明为传进你想要的参数,不过记住,这些参数必须被声明为final。v将匿名内部类改造成有名字的局部内部类,这样它就可以将匿名内部类改造成有名字的局部内部类,这样它就可以拥有有名字的构造函数了。拥有有名字的构造函数了。v在这个匿名内部类中使用初始化代码块。在这个匿名内部类中使用初始化代码块。v匿名内部类实例class PackBox interface Goods/定义内部接口String getName();Goods SportShoe()return new Goods()/匿名内部类String name=运动鞋;int price=200;public String getName()return name;/事实上匿名内部类必须继承一个类或实现一个接口

    注意事项

    本文(Java抽象类.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开