第10章-抽象类和接口.ppt

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

Java语言程序设计 Java语言程序设计 J a v a 面向对象程序设计 河南理工大学计算机学院 张 俊 TelEmail:zhangjun@hpu.edu.cn 第10章 抽象类和接口 10.1 抽象类 10.2 接口 10.3 内部类 10.1 抽象类 父类定义子类中通用的属性和行为 有些情况下,父类的方法通常是“哑方法”。调用这些方法,通常会出现一些错误 那么为什么还要创建这些方法呢? 为子类创建一个通用接口,通过这个接口可以操控一系列的类 不同的子类可以根据自己的特点是用不同的方式实现接口(无公共实现) 既然抽象类可能没有具体的实现内容,所以创建这样的类是没有意义的(对象无意义) Java提供了一种叫抽象方法的机制,这种方法不完整,只有声明而没有方法体。可以使用abstract关键字声明抽象方法: abstract void f(); 包含抽象方法的类叫做抽象类,定义的方式是在类声明头部中加入abstract修饰符 abstract class A{ abstract int min(int x,int y); int max(int x, int y) return xy?x:y; } 10.1 抽象类 10.1 抽象类 抽象方法不具有任何实现代码 abstract class Shape { . . . . . . . . . . . protected double length; protected double width; . . . . . . . . . . . . . . . . . . . . . . abstract double area(); } class Square extends Shape { /** 构造方法*/ Square(final double num, final double num1) { super(num, num1); } /*计算正方形的面.*/ double area() { System.out.println(“正方形的面积为:); return length * width; } } 10.1 抽象类 使用抽象类/方法时需注意以下几点: 抽象类既可包含抽象方法,也可包含非抽象方法 抽象类中可以没有任何抽象方法 含有抽象方法的类必须声明为抽象类 抽象类不能使用new操作符创建对象 抽象类的父类可以是具体类 抽象方法只能有声明不能有实现 abstract和final不能同时修饰同一方法 子类可以覆盖父类的方法并将其定义为abstract的 10.2 接口 接口:某个事物对外提供的一些功能的声明,即接口是用来描述类具有什么功能,即接口是一组对类的需求描述 如果抽象类继续抽象,使得抽象到没有任何属性,并且所有方法都是抽象的,这时候抽象类就变为了接口 接口是抽象类的进一步发挥,可以将接口理解为“纯粹的”抽象类 Java中定义接口的目的是为了支持多重继承 10.2 接口 使用interface关键字定义接口 interface 接口名 { 方法或常量声明;} 接口中只能包含方法或常量 接口中所有常量都会自动变成static和final的 接口中的方法只能是方法的声明,而不能是任何的具体的实现,接口中声明的所有方法都是 public的 接口不能使用new运算符实例化, 但可以声明接口引用变量指向接口的一个实现类对象 10.2 接口 // 定义方法的接口 public interface myinterface { void add(int x, int y); public void volume(int x,int y, int z); } // 定义程序使用的常量的接口 public interface myconstants { double price = 1450.00; public static final int counter = 5; } 示例 10.2 接口 接口的使用:一个类使用关键字implements 声明自己实现一个或多个接口,实现多个接口时,可以用逗号分开接口名 class demo implements interface1(,interface2…) 实现接口的类必须为接口中提供的每一个方法声明提供一个具体实现 和类一样,接口也有两种访问权限:友好的和 public的 父类实现了某个接口,则子类自动实现该接口,不需要再implements该接口 1

文档评论(0)

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

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

1亿VIP精品文档

相关文档