文档详情

06Java面向对象设计-接口与抽象类.ppt

发布:2016-05-20约4.99千字共27页下载文档
文本预览下载声明
在Java中类不支持多重继承,但接口可以多重继承。如: public interface MyInterface extends HisInterface, HerInterface{ } * * 第7课 Java面向对象设计-接口 学习目标 理解抽象类的概念; 掌握接口的使用; 理解final关键字; 本课内容 抽象类 final 接口 方法的重载 1. 抽象类(abstract class) 用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法。 含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。 抽象类不能被实例化。 抽象类一般是一个基础的实现框架 抽象方法只需声明,而不需实现 abstract returnType abstractMethod ( [paramlist] ); 练习:根据类图编写代码:Music4.java 2. 关键字final final可用来修饰类、变量和方法 final变量 基本数据类型,变量的值不可修改 引用数据类型,引用的对象不可修改。某个reference一旦初始化用以代表某个对象后,就再也不能改而指向其他对象,但对象的数据可以被修改 final成员变量练习: FinalData.java 3. 接 口 接口(interface)是抽象方法和常量值的集合。 接口是一种纯粹的抽象类,只提供对外的界面定义,而不包含任何实现(如变量和方法的实现代码)。 接口定义 [public] interface aInterface { ....} 实现接口 class cName implements aInterface 针对接口编程,而不是针对实现编程 练习:按以下类图定义接口及其实现类:Music5.java 多个无关的类可以实现同一个接口;一个类可以实现多个无关的接口,因此用接口可以模拟实现多重继承 与继承关系类似,接口与实现类之间存在多态性 定义Java类的语法格式: modifier class name [extends superclass] [implements interface, [ interface]* ] { declarations* } public final class String extends Object implements Serializable, Comparable, CharSequence 接口特性 接口可以多重实现; 接口中声明的属性默认为public static final的;也只能是public static final的; 接口中只能定义抽象方法,而且这些方法默认为public的、也只能是public的; 接口可以继承其它的接口,并添加新的属性和抽象方法。 接口用法总结 通过接口可以实现不相关类的相同行为,而不需要考虑这些类之间的层次关系。 通过接口可以指明多个类需要实现的方法。 通过接口可以了解对象的交互界面,而不需了解对象所对应的类。 为什么需要常量 生活中,一周有七天,如何用代码表示? public class Week { private int days = 7; public static void main(String[] args) { Week w = new Week(); System.out.println(一周有+w.days+天); } } public class Week { private int days = 7; public static void main(String[] args) { Week w = new Week(); w.days ++; System.out.println(一周有+w.days+天); } } 一周有7天 控制台输出 然而,总有不尽人意的事情发生: 一周有8天 控制台输出 如何保证变量的值在运行期无法被改变?——使用常量 什么是常量 常量是一种标识符,它的值在运行期间恒定不变 常量标识符在程序中只能被引用,而不能被重新赋值 常量 圆周率PI 圆周率PI代码表示方式 public static final double PI = 3.14159265358979323846; 用法 将ang角度转换成径度 public static double toRadians(double ang) { return ang / 180.0 * PI; } 常量的优点 如果不使用常量,直接在程序中填写数字或字符串,将会有什么麻烦? public static double toRadians(double ang) { retu
显示全部
相似文档