- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java程序设计 第10章 抽象类和接口 学习目标 设计和使用抽象类 掌握接口的声明和实现 了解抽象类和接口的异同 掌握基本数据类型的包装类型 了解JDK1.5中基本数据类型与包装类型的自动转换 抽象类和抽象方法 Java中可以定义不含方法体的方法,方法的方法体由该类的子类根据自己的情况去实现,这样的方法称为抽象方法(abstract method),包含抽象方法的类必须是抽象类(abstract class)。 一个类C如果满足下面的任一条件,则该类包含抽象方法: 类C显式地包含一个抽象方法的声明; 类C的父类中声明的抽象方法未在类C和它的父类中实现; 类C的父接口中声明或继承一个方法,并且类C中未声明或继承一个方法来实现它。 注意 抽象类和抽象方法必须用abstract关键字来修饰。 只有实例方法可以声明为抽象方法。 抽象类不能被实例化,即不能用new关键字创建对象。 抽象类的父类可以是具体类。 具体子类必须实现抽象父类中所有抽象方法,否则子类需要声明为抽象类。 抽象类示例 Circle - radius : double + + + + + Override Override getRadius () setRadius (double radius) getArea () getPerimeter () toString () : double : void : double : double : String GeometricObject - - color filled : String : boolean + + + + + + getColor () setColor (String color) isFilled () setFilled (boolean filled) getArea () getPerimeter () : String : void : boolean : void : double : double Rectangle - - width height : double : double + + + + + + + Override Override getWidth () setWidth (double width) getHeight () setHeight (double height) getArea () getPerimeter () toString () : double : void : double : void : double : double : String Override Override Example:GeometricObject.java,Circle.java, Rectangle.java, TestGeometricObject.java 接口 接口是常量和抽象方法的集合。接口是能力、规范、协议的反映。 语法 [modifier] interface interfaceName { constant_declaration* abstract_method_declaration* } 接口中的数据字段隐含为public static final 接口体中的方法隐式地声明为public abstract 使用接口 可以在能够使用任何其他数据类型的地方使用接口。 接口类型属于引用类型,接口类型的变量可以存储: 空引用(null) 任何实现该接口的类的实例的引用 类实现接口的语法 [modifier] class className [extends superclass] [implements interfaceNameList ] { member_declaration* } 除非类被声明为abstract,所有父接口中声明的成员方法必须被实现,或者通过在类中声明或者通过从父类继承已有的方法声明。 例1 public interface Flyer { void takeOff(); void land(); void fly(); } public class Airplane implements Flyer { public void takeOff() { // 加速直到离地升空 // 收起起落架 } public void land() { // 放下起落架 // 减速并降低副翼直到降落 // 刹车 } public void fly() {
您可能关注的文档
- 模糊多类支持向量机和其在入侵检测中的应用_李昆仑.pdf
- 模糊概念图知识表示和其推理机制研究.pdf
- 模糊化无线传感节点自适应定位算法.pdf
- 2017年西安市特色小镇建设规划及运营管理分析.docx
- 模糊集理论和其应用_第三章.ppt
- 2017年浙江省特色小镇建设规划及运营管理分析.docx
- 2017年浙江省特色小镇深度调研和建设规划研究.docx
- 模糊建模与模糊辨识.pptx
- 模糊聚类分析方法在经济区划分应用.doc
- 201302基于知识图谱新媒体国际研究进展分析.pdf
- [中央]2023年中国电子学会招聘应届生笔试历年参考题库附带答案详解.docx
- [吉安]2023年江西吉安市青原区总工会招聘协理员笔试历年参考题库附带答案详解.docx
- [中央]中华预防医学会科普信息部工作人员招聘笔试历年参考题库附带答案详解.docx
- [保定]河北保定市第二医院招聘工作人员49人笔试历年参考题库附带答案详解.docx
- [南通]江苏南通市崇川区人民法院招聘专职人民调解员10人笔试历年参考题库附带答案详解.docx
- [厦门]2023年福建厦门市机关事务管理局非在编工作人员招聘笔试历年参考题库附带答案详解.docx
- [三明]2023年福建三明市尤溪县招聘小学幼儿园新任教师79人笔试历年参考题库附带答案详解.docx
- [哈尔滨]2023年黑龙江哈尔滨市木兰县调配事业单位工作人员笔试历年参考题库附带答案详解.docx
- [上海]2023年上海市气象局所属事业单位招聘笔试历年参考题库附带答案详解.docx
- [台州]2023年浙江台州椒江区招聘中小学教师40人笔试历年参考题库附带答案详解.docx
文档评论(0)