java接口的基本概念.ppt

上传人:小飞机 文档编号:6509818 上传时间:2023-11-07 格式:PPT 页数:85 大小:449.56KB
返回 下载 相关 举报
java接口的基本概念.ppt_第1页
第1页 / 共85页
java接口的基本概念.ppt_第2页
第2页 / 共85页
java接口的基本概念.ppt_第3页
第3页 / 共85页
java接口的基本概念.ppt_第4页
第4页 / 共85页
java接口的基本概念.ppt_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《java接口的基本概念.ppt》由会员分享,可在线阅读,更多相关《java接口的基本概念.ppt(85页珍藏版)》请在三一办公上搜索。

1、第6章:面向对象(高级)接口的基本概念,软件学院教学研发部,本章目标,掌握接口的定义格式及使用掌握接口与抽象类的关系,接口,接口是java中最重要的概念,接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成。,接口的定义格式,接口的定义,完整格式:简化格式:,接口图形表示,接口的图形可以按照类图的形式表示,也可以使用一个“”表示,A,实现接口,与抽象类一样,接口要使用也必须通过子类,子类通过implements关键字实现接口。实现格式:class 子类 implements 接口A,接口B,.,实现接口,接口的实现,以上的程序中,一个子类同时实现了两个接口,这样在子类中就必须

2、同时覆写完两个接口中的全部抽象方法,继承抽象类实现接口,一个子类可以同时继承抽象类和实现接口。格式如下:class 子类 extends 抽象类 implements 接口A,接口B,.,子类同时继承抽象类和实现接口,接口和抽象类的使用限制,在java中允许一个抽象类实现多个接口的,接口的继承,一个接口不能继承一个抽象类,但是却可以通过extends关键字同时继承多个接口,实现接口的多继承。格式:interface 子接口 extends 父接口A,父接口B,.,接口的多继承,下一章内容,对象的多态性,第6章:面向对象(高级)对象的多态性,软件学院教学研发部,本章目标,掌握对象的向上转型及向下

3、转型的使用掌握对象转型的限制,多态性,多态性在面向对象中中是一个最重要的概念,在java中面向对象主要有以下两种主要体现:方法的重载与覆写 对象的多态性,对象的多态性,对象的多态性主要分为以下两种类型:向上转型:子类对象 父类对象 对于向上转型,程序会自动完成,格式:对象向上转型:父类 父类对象=子类实例;向下转型:父类对象 子类对象对于向下转型时,必须明确的指明要转型的子类类型,格式:对象向下转型:子类 子类对象=(子类)父类实例;,对象的向上转型,对象的向下转型,注意:对象向下转型的要求,在以上的程序中读者已经了解了对象的向上和向下转型的基本概念,但是必须提醒读者的是,在进行对象的向下转型

4、之前,必须首先发生对象向上转型才可以,否则将出现对象转换异常,错误的转型,对象多态性的作用,现在有以下要求:设计一个方法,要求此方法可以接收A类的任意子类对象,并调用方法,下一章内容,instanceof 关键字,第6章:面向对象(高级)抽象类与接口的应用,软件学院教学研发部,本章目标,掌握抽象类及接口的实例化操作掌握模板设计的作用掌握工厂设计模式的作用掌握代理设计模式的作用掌握适配器设计模式的作用掌握抽象类与接口的使用区别,为抽象类与接口实例化,在Java中可以通过对象的多态性,为抽象类和接口实例化,这样再使用抽象类和接口的时候就可以调用本子类中所覆写过的方法了。,为抽象类实例化,为接口实例

5、化,为什么抽象类和接口不能实例化?,因为,抽象类和接口内部有抽象方法,抽象方法是没有实现的方法。无法调用。通过对象的多态性可以发现,子类发生了向上转型之后,所有的全部的方法都是被复写过的方法。,抽象类的实际应用 模板设计,来看下面的这样一种场景:“假设人分为学生和工人,学生和工人都可以说话,但是学生和工人说话的内容是不一样的,也就是说说话这个功能应该是一个具体功能,而说话的内容就要由学生或工人来决定了”,所以此时就可以使用抽象类实现这种场景,代码实现 Person,代码实现 Student,代码实现 Worker,提示:现实生活中的模板,对于以上的操作代码,如果读者不是很理解的话,那么可以看一

6、下以下的说明,小的时候有些读者因为淘气可能会填写过如下的登记表:,接口的实际应用 制定标准,接口在实际中更多的作用是用来制订标准的。比如说:“U盘和打印机都可以插在电脑上使用,这是因为它们都实现了USB的接口,对于电脑来说,只要是符合了USB接口标准的设备就都可以插进来,制订USB标准,设计模式 工厂设计,工厂设计,是Java开发中使用的最多的一种设计模式,那么什么叫工厂设计,以及工厂设计有那些作用呢?在说明问题前,请读者先观察以下的程序。,观察程序中的问题,问题的解决,工厂设计模式,工厂类的操作流程,设计模式 代理设计,代理设计也是在java开发中使用较多的一种设计模式,所谓的代理设计就是指

7、一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理,就好比在生活中经常使用到的代理上网那样,客户通过网络代理连接网络,由代理服务器完成用户权限,访问限制等与上网操作相关的操作。,分析结果,不管是代理操作也好,真实的操作也好,其共同的目的就是一个上网,所以用户关心的只是如何上网,至于里面是如何操作的用户并不关心,代理操作,代理操作流程,设计模式 适配器设计,对于Java程序来说,如果一个类要实现一个接口,则肯定要覆写此接口中的全部抽象方法,那么如果,此时一个接口中定义的抽象方法过多,但是在子类中又用不到这么多抽象方法的话,则肯定很麻烦,所以此时就需要一个中间

8、的过渡,但是此过渡类又不希望被直接使用,所以将此过渡类定义成抽象类最合适,即一个接口首先被一个抽象类(此抽象类通常称为适配器类),并在此抽象类中实现若干方法(方法体为空),则以后的子类直接继承此抽象类,就可以有选择的覆写所需要的方法。,适配器设计实现,内部类的扩展,在之前面向对象的基础部分,曾经为读者讲解过内部类的概念,实际上在一个抽象类中也可以定义多个接口或抽象类,在一个接口中也可以定义多个抽象类或接口。,在一个抽象类中包含接口,在一个接口中包含抽象类,抽象类与接口之间的关系,下一章内容,实例分析:宠物商店,第6章:面向对象(高级)实例分析:宠物商店,软件学院教学研发部,实例要求,实现一个宠

9、物商店,在宠物商店中可以有多种(由用户决定数量)宠物,试表示出此种关系,并要求可以根据宠物的关键字查找到相应的宠物信息。所需要的宠物信息自行设计。,分析,1、本要求中提示宠物的信息可以自行设计,所以此时简单设计出三个属性:名字、颜色、年龄。2、宠物的类别很多,例如:猫、狗等都属于宠物,所以宠物应该是一个标准。3、在宠物商店中,只要是符合了此宠物标准的就都应该可以放进宠物商店之中。4、宠物商店中要保存多种宠物,则肯定应该是一个宠物的对象数组,宠物的个数由用户决定的话,则应该在创建宠物商店的时候,就已经分配好宠物的个数。,类图,宠物接口 Pet.java,宠物猫 Cat.java,宠物狗 Dog.

10、java,宠物商店 PetShop.java(增加宠物),宠物商店 PetShop.java(查询),p=new Petcount;/根据已经确定的记录数,开辟对象数组int f=0;/设置增加的位置标记for(int i=0;i this.pets.length;i+)if(this.petsi!=null)if(this.petsi.getName().indexOf(keyWord)!=-1|this.petsi.getColor().indexOf(keyWord)!=-1)pf=this.petsi;/将符合查询条件的宠物信息保存f+;return p;,测试宠物商店 PetShop

11、Demo.java,下一章内容,Object类,第6章:面向对象(高级)包装类,软件教学研发部,本章目标,掌握包装类的作用掌握包装类的自动装箱及自动拆箱的操作掌握包装类的转换操作,包装类介绍,在Java的设计中提倡一种思想:“一切皆对象”,那么这样一来就出现了一个矛盾,从数据类型的划分中可以知道JAVA中的数据类型分为基本数据类型和引用数据类型,但是基本数据类型怎么能够称为对象呢?此时,就需要将基本数据类型进行包装,将八种基本类型变为一个类的形式,那么这也就是包装类的作用。,包装类,包装类的说明,在以上所列的类中,除了Integer和Character定义的名称与基本类型定义的名称相差较大,其

12、他的六种类型的名称都是很好掌握的。而且读者可以从JDK文档中发现包装类中的继承关系:Integer、Byte、Float、Double、Short、Long都属于Number类的子类,Number类本身提供了一系列的返回以上六种基本数据类型的操作。Character属于Object的直接子类。Boolean属于Object的直接子类。,Number类的定义,那么Number类是一个抽象类,主要是将数字包装类中内容变为基本数据类型,主要操作方法如下。,装箱与拆箱(Integer、Float为例),装箱:将一个基本数据类型变为包装类,这样的过程称为装箱操作 拆箱:将一个包装类变为基本数据类型这样的

13、过程称为拆箱操作,装箱及拆箱操作,自动装箱及拆箱操作,在JDK 1.5之后提供了自动的装箱及拆箱操作,包装类应用(Integer、Float为例),包装类在实际中用得最多的还在于字符串变为基本数据类型的操作上,例如:将一个全由数字组成的字符串变为一个int或float类型的数据。在Integer和Float类中分别提供了以下的两种方法:A、Integer类(字符串转int型)public static int parseInt(String s)throws NumberFormatExceptionB、Float类(字符串转float型)public static float parseFloat(String s)throws NumberFormatException,字符串变为基本数据类型,下一章内容,匿名内部类,第6章:面向对象(高级)匿名内部类,软件教学研发部,本章目标,掌握匿名内部类的作用掌握匿名内部类的定义格式,一个简单的操作,匿名内部类,匿名内部类是在抽象类和接口的基础之上发展起来的另外一种内部类的展现形式,当一个抽象类或接口的子类只需要使用一次的时候就可以使用匿名内部类的定义格式。,匿名内部类,下一章内容,异常的捕获及处理,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号