第八章.抽象类、接口.pptx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章.抽象类、接口

抽象类、接口 NIIT培训 铸就辉煌IT人生 目标: 抽象类 接口 内部类 枚举类型 抽象类 在定义Java方法时可以只给出方法头,而不必给出方法体、即方法实现的细节,这样的方法被称为抽象方法。 抽象方法必须使用关键字abstract修饰,包含抽象方法的类必须声明为抽象类。 Java语言规定,子类必须实现其父类中的所有抽象方法,否则该子类也只能声明为抽象类。 抽象类不能被实例化 抽象类主要是通过继承、再由其子类发挥作用的,其作用包括两方面: 代码重用 规划 其他特性: 抽象类中可以不包含抽象方法; 子类中可以不全部实现抽象父类中的抽象方法,但此时子类也只能声明为抽象类; 父类不是抽象类,但在子类中可以添加抽象方法,但子类需声明为抽象类; 抽象类中可以声明static属性和方法; 为什么使用接口 只有抽象方法的抽象类? 可以用接口来表示 接口有比抽象类更好的特性: 1.可以被多继承 2.设计和实现完全分离 3.更自然的使用多态 4.更容易搭建程序框架 5.更容易更换实现 …… 用接口代替这样的抽象类,是因为: 什么是接口 认识一下接口 必须知道的接口特性 接口不可以被实例化 实现类必须实现接口的所有方法 实现类可以实现多个接口 接口中的变量都是静态常量 public interface MyInterface { public void foo(); //其他方法 } 所有方法都是: public abstract 抽象类除外 Java中的多继承 常作为类型使用 如何使用接口 用程序描述USB接口 如何使用接口 可以使用Java接口来实现 USB接口本身没有实现任何功能 USB接口规定了数据传输的要求 USB接口可以被多种USB设备实现 编写USB接口 实现USB接口 使用USB接口 根据需求设计方法 实现所有方法 用多态的方式使用 如何使用接口 编码实现 public class UDisk implements UsbInterface { public void service() { System.out.println(连接USB口,开始传输数据。); } } public interface UsbInterface { /** * USB接口提供服务。 */ void service(); } UsbInterface uDisk = new UDisk(); uDisk.service(); 编写接口 实现接口 使用接口 实现接口使用的关键字 用接口实现多态 多个接口使用“,”分隔 面向接口编程 开发打印机 墨盒:彩色、黑白 纸张类型:A4、B5 墨盒和纸张都不是打印机厂商提供的 打印机厂商要兼容市场上的墨盒、纸张 面向接口编程 用面向接口编程的方式开发 制定墨盒、纸张的约定或标准 打印机厂商使用墨盒、纸张的标准开发打印机 其他厂商按照墨盒、纸张的标准生产墨盒、纸张 定义墨盒接口InkBox 定义纸张接口Paper 定义打印机类 实现墨盒接口 实现纸张接口 约定墨盒标准 约定纸张标准 用墨盒、纸张接口实现打印方法 墨盒和纸张的规格是一种约定 打印机需要遵守这些约定 面向接口编程 public interface Paper { /** * 得到纸张大小 * @return 纸张大小 */ public String getSize(); } 纸张的实现 public interface InkBox { /** * 得到墨盒颜色 * @return 墨盒颜色 */ public String getColor(); } 墨盒的实现 嵌套类 Java语言支持类的嵌套定义,即允许将一个类定义在其他类的内部,其中内层的类被称为嵌套类(Nested Class)。 嵌套类可以分为两种: 静态嵌套类(Static Nested Class):使用static修饰的嵌套类; 内部类(Inner Class):非static的嵌套类。 public class A{ … private class B{ //内部类 … } public static class C{ //静态嵌套类 … } } 内部类 内部类又可分为三种情况: 1. 普通的内部类:在Java类中、方法或语句块的外部定义的非static类。 2. 局部内部类:也称局部类(Local Class),定义在方法或语句块中的类。 3. 匿名内部类: 也称匿名类( AnonymousClass),定义在方法或语句块中,该类没有名字、只能在其所在之处使用一次。 内部类 内部类

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档