第10章 抽象类与接口.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 抽象类和接口 内容 10.1 引言 10.2 抽象类 10.3 日历类Calendar和公历类GregorianCalendar 10.4 接口 10.5 将基本数据类型值处理为对象 10.6 基本类型和包装类之间的自动转换(自学) 10.7 处理GUI事件(自学) 10.1 引言 Java不支持多继承(几个类派生出一个子类),Java仅仅满足单重继承 但接口机制,可以满足“多继承”效果 10.2 抽象类 抽象类:含有抽象方法的类叫做抽象类,并在类声明的时候必须用abstract声明。 抽象类特征: 无法实例化 抽象方法只有签名没有实现 实例:程序10-1,10-2 抽象类实例:程序清单10-1 GeometricObject 抽象类实例:派生类Circle 抽象类实例:派生类Rectangle 抽象类实例:程序清单10-1 TestGeometricObject 10.3 日历类Calendar和公历类GregorianCalendar Java标准类库中的抽象类使用实例: Calendar:分解日历的详细信息 GregorianCalendar:可以实现特定日历系统,如公历、阴历、Jewish历 10.4 接口 接口:一种与类相似的结构,只包含常量和抽象方法,可以看成是一种特殊的抽象类(一种完全没有实现的类),所以不能给接口创建实例。 接口的定义格式: [修饰符] interface 接口名 { //静态常量的声明; //抽象方法的声明; } Java不支持多重继承。但一个类可以使用关键字implements实现一个或多个接口,格式为: [修饰符] class 类名 [extends 父类名] implements 接口名1,???,接口名n 接口的作用:一个类只能有一个父类(使用extends声明),但可以实现多个接口(使用关键字implements声明)。所以,接口扩充了类的功能,可以使类具备多重继承的能力。 10.4 接口 Comparable接口:针对不同类型的对象,定义一个方法来判断两个相同类型对象的大小顺序。 该系统接口定义在java.lang中 package java.lang; public interface Comparable{ public int compareTo(Object o); } 系统类String、Date都实现了Comparable,那么对于String、Date对象都可以调用Comparable的compareTo方法完成同种对象的大小比较。 10.4.1 声明类以实现Comparable接口 实现ComparableRectangle 思路:本类首先是一个Rectangle的实例,其次需要使用(实现)一种比较的方法(Comparable) 实现: 继承Rectangle: 扩展Comparable,该接口包含compareTo(Object )方法,实现两个Rectangle对象的比较 10.4.1 声明类以实现Comparable接口 10.4.2 接口与抽象类 接口中的数据必须是常量(public final static);抽象类可以有各种类型的数据。 接口中的每个方法都是抽象方法(public abstract);抽象类中可以有非抽象方法。 由于接口中的所有方法都是抽象的、公共的,所以Java不要求在接口中将修饰符abstract、public放在方法前;抽象类中必须将修饰符abstract放在抽象方法前。公共的方法前也必须加修饰符public。 继承只能单重,但接口可以多重继承 接口也是一个类,如果一个类实现一个接口,可以看做该接口是一个父类 接口一般用于弱关系(类属关系 has a ),抽象类用于强关系(is a) 10.4.2 接口与抽象类 理解接口 10.4.3 创建自定义接口 接口的定义格式: [修饰符] interface 接口名 { //静态常量 //public static final int k=1; //int k=1; //抽象方法的声明; //public abstract void p(); //void p(); } 10.4.3 创建自定义接口 实例 10.4.3 创建自定义接口 :多重接口实例 10.4.4 可克隆接口Cloneable(

文档评论(0)

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

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

1亿VIP精品文档

相关文档