接口、内部类和java_api基础

上传人:wm****3 文档编号:51731389 上传时间:2018-08-16 格式:PPT 页数:23 大小:433KB
返回 下载 相关 举报
接口、内部类和java_api基础_第1页
第1页 / 共23页
接口、内部类和java_api基础_第2页
第2页 / 共23页
接口、内部类和java_api基础_第3页
第3页 / 共23页
接口、内部类和java_api基础_第4页
第4页 / 共23页
接口、内部类和java_api基础_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《接口、内部类和java_api基础》由会员分享,可在线阅读,更多相关《接口、内部类和java_api基础(23页珍藏版)》请在金锄头文库上搜索。

1、第4章 接口、内部类和 Java API 基础4.1 接口 4.2 内部类和内部接口 4.3 java.lang包中的基础类库 4.4 java.util包中的工具类库1.3.3 包Date14.1 接口4.1.1 接口与实现接口的类 4.1.2 用接口实现多继承接口提供方法声明与方法实现相分离的机制,使多 个类之间表现出共同的行为能力。接口机制使Java具有 实现多重继承的能力。Date24.1.1 接口与实现接口的类1. 声明接口 public interface 接口 extends 父接口 public static final 数据类型 成员变量=常量值;public abstrac

2、t 返回值类型 成员方法(参数列表); 在Java中,接口是一种引用数据类型,是一组常量 和抽象方法的集合。例如: public interface Area /可计算面积接口 public abstract double area(); /计算面积 Date32. 声明实现接口的类 格式:修饰符 class 类 extends 父类implements 接口列表例如:public class Rectangle implements Area4.1.1 接口与实现接口的类(续)【例4.1】 可计算面积接口与实现该接口的矩形类。Date43. 接口是一种引用数据类型 Area g = new

3、Rectangle(10,20); /接口变量g引用实现接口的类的对象 System.out.println(g.toString(); /执行Rectangle的方法 g = new Ellipse(10,20); /g引用椭圆对象 System.out.println(g.toString(); /执行Ellipse的方法4.1.1 接口与实现接口的类(续)【例4.2】可计算体积接口与实现该接口的长方体类。Date5【例4.3】 球类实现多个接口。4.1.1 接口与实现接口的类(续)Date6n接口及接口中成员的访问权限都是public。n接口中的成员方法都是公有的、抽象的实例成员方法。p

4、ublic abstractn接口中的所有抽象方法必须全部被实现接口的类覆盖。n接口中的成员变量都是常量。public static finaln接口不能被实例化。n接口是引用数据类型,可以声明接口的变量。Area g = new Rectangle(10,20); 4. 接口的特点4.1.1 接口与实现接口的类(续)Date74.1.2 用接口实现多继承n一个类可以继承一个父类并实现多个接口public interface AreaVolumn extends Area,Volume public class Globe implements AreaVolumeDate8n相同点:n两者都

5、包含抽象方法。n两者都不能被实例化。n两者都是引用数据类型。 n不同点:n抽象类约定多个子类之间共同使用的方法;接口约定多个互 不相关类之间共同使用的方法。n抽象类与子类之间采用单重继承机制;一个类实现多个接口 则实现了多重继承的功能。n抽象类及其类中成员具有与普通类一样的访问权限;接口的 访问权限有public和默认两种,接口中成员的访问权限均是 public。n抽象类中可以包含非抽象方法,也可以声明构造方法;接口 中的方法全部是抽象方法,不能声明构造方法。n抽象类中可以声明成员变量,子类可以对该成员变量赋值; 接口中只能声明常量。 2. 接口与抽象类的比较4.1.2 用接口实现多继承(续)

6、Date94.2 内部类和内部接口类与类之间除了继承关系,还存在嵌套关系,即一个 类可以声明包含另一个类,被包含的类称为内部类(内嵌 类型),包含内部类的类称为外部类(外层类型)。内嵌 类型既有类型的特性,也有类中成员的特性。 public class Line /直线类,外层类型 class Point /点类,内嵌类型 1作为类型的特性n内嵌类型不能与外层类型同名。n内部类中可以声明成员变量和成员方法。n内部类可以继承父类或实现接口。n内部类可以声明为抽象类或内部接口。Date10n使用点运算符“.”引用内嵌类型:n外层类型.内嵌类型Line.Pointn彼此信任,能访问对方的所有成员。n

7、具有类中成员的4种访问控制权限。n内部接口总是静态的。2作为成员的特性4.2 内部类和内部接口(续)【例4.4】 直线类声明内嵌的点类和方向接口。Date111.3.3 包1问题的提出2什么是包n从逻辑概念看,包(package)是类的集合,一个 包中包含多个类;n从存储概念看,包是类的组织方式,一个包对应一 个文件夹,一个文件夹中包含多个字节码文件;n包与类的关系,就像文件夹与文件的关系一样。包 中还可以再有子包,称为包等级,子包对应一个子 文件夹。n为解决字节码文件存放和类命名的问题,Java提 供了包机制。Date121.3.1 包(续)n创建与包同名的文件夹 F:myjavamypac

8、kagen声明类所在的包 package 包1.包2;例如:package mypackage; /声明所在的包n引用包中的类 包1.包2.类|接口n导入包 import 包1.包2.类|接口|*;例如:import mypackage.Line;import java.awt.*;n默认包路径:当前文件夹 3创建、声明和导入包【例1.4】 创建及使用包。Date131.3.1 包(续)Java源程序结构 package /声明包,01句 import /导入包,0多句 public class 或interface /声明公有类或接口, 01 句,文件名与该名相同 class/声明默认类,0

9、多句 interface/声明接口,0多句Date14nJava的常用包n查看Java包中的类n查看Java的源程序及包等级n导入Java的包java.lang 语言包 java.util 实用包 java.awt 抽象窗口工具包 java.applet java.io 输入输出流包 网络包 java.sql 数据库应用 javax.swing 图形用户界面import java.util.Date; import java.awt.*;解压JDK帮助文档 jdk-?-doc.zip解压src.zip1.3.1 包(续) Java API基础Date15nObject类nMath数学类nCo

10、mparable接口n基本数据类型包装类nString字符串类nClass类操作类nSystem系统类nRuntime运行时类补充例:猜数游戏补充例:猜数游戏(Guess.java)获得运行时信息(获得运行时信息(Runtimeinfo.javaRuntimeinfo.java)4.3 java.lang包中的基础类库Date16【补充例】计算程序执行的时间/Elapsed.java public class Elapsedpublic static void main(String args)long start, end, sum = 0;System.out.println(“ a lo

11、op from 0 to 1,000,000,000“);start = System.System.currentTimeMilliscurrentTimeMillis();();for (int i = 0; i void sort(T a, Comparator c) n二分法(折半)查找 public static int binarySearch(Object a, Object key) public static int binarySearch(T a, T key, Comparator c) 【例4.6】 对象数组的排序和查找。Date214.4.3 Random随机数序列类 public class Random extends Object implements java.io.Serializable public Random() /创建一个随机数序列public Random(long seed) /seed指定随机数序列种子public int nextInt() /返回下一个随机数public int nextInt(int n) /返回下一个随机数(n以内)public double nextDouble() 书面作业:实验4.1、4.2Date22谢谢!Date23

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号