接口内部类和JavaAPI基础.ppt

上传人:本田雅阁 文档编号:2249333 上传时间:2019-03-10 格式:PPT 页数:23 大小:433.01KB
返回 下载 相关 举报
接口内部类和JavaAPI基础.ppt_第1页
第1页 / 共23页
接口内部类和JavaAPI基础.ppt_第2页
第2页 / 共23页
接口内部类和JavaAPI基础.ppt_第3页
第3页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《接口内部类和JavaAPI基础.ppt》由会员分享,可在线阅读,更多相关《接口内部类和JavaAPI基础.ppt(23页珍藏版)》请在三一文库上搜索。

1、2019/3/10,1,第4章 接口、内部类和Java API 基础,4.1 接口 4.2 内部类和内部接口 4.3 java.lang包中的基础类库 4.4 java.util包中的工具类库 1.3.3 包,2019/3/10,2,4.1 接口,4.1.1 接口与实现接口的类 4.1.2 用接口实现多继承,接口提供方法声明与方法实现相分离的机制,使多个类之间表现出共同的行为能力。接口机制使Java具有实现多重继承的能力。,2019/3/10,3,4.1.1 接口与实现接口的类,1. 声明接口 public interface 接口 extends 父接口 public static fina

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

3、与实现该接口的矩形类。,2019/3/10,5,3. 接口是一种引用数据类型,Area g = new 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】可计算体积接口与实现该接口的长方体类。,2019/3/10,6,【例4.3】 球类实现多个接口。,4.1.1 接口与

4、实现接口的类(续),2019/3/10,7,接口及接口中成员的访问权限都是public。 接口中的成员方法都是公有的、抽象的实例成员方法。 public abstract 接口中的所有抽象方法必须全部被实现接口的类覆盖。 接口中的成员变量都是常量。public static final 接口不能被实例化。 接口是引用数据类型,可以声明接口的变量。 Area g = new Rectangle(10,20);,4. 接口的特点,4.1.1 接口与实现接口的类(续),2019/3/10,8,4.1.2 用接口实现多继承,一个类可以继承一个父类并实现多个接口,public interface Are

5、aVolumn extends Area,Volume public class Globe implements AreaVolume,2019/3/10,9,相同点: 两者都包含抽象方法。 两者都不能被实例化。 两者都是引用数据类型。 不同点: 抽象类约定多个子类之间共同使用的方法;接口约定多个互不相关类之间共同使用的方法。 抽象类与子类之间采用单重继承机制;一个类实现多个接口则实现了多重继承的功能。 抽象类及其类中成员具有与普通类一样的访问权限;接口的访问权限有public和默认两种,接口中成员的访问权限均是public。 抽象类中可以包含非抽象方法,也可以声明构造方法;接口中的方法全部

6、是抽象方法,不能声明构造方法。 抽象类中可以声明成员变量,子类可以对该成员变量赋值;接口中只能声明常量。,2. 接口与抽象类的比较,4.1.2 用接口实现多继承(续),2019/3/10,10,4.2 内部类和内部接口,类与类之间除了继承关系,还存在嵌套关系,即一个类可以声明包含另一个类,被包含的类称为内部类(内嵌类型),包含内部类的类称为外部类(外层类型)。内嵌类型既有类型的特性,也有类中成员的特性。,public class Line /直线类,外层类型 class Point /点类,内嵌类型 ,1作为类型的特性,内嵌类型不能与外层类型同名。 内部类中可以声明成员变量和成员方法。 内部类

7、可以继承父类或实现接口。 内部类可以声明为抽象类或内部接口。,2019/3/10,11,使用点运算符“.”引用内嵌类型: 外层类型.内嵌类型 Line.Point 彼此信任,能访问对方的所有成员。 具有类中成员的4种访问控制权限。 内部接口总是静态的。,2作为成员的特性,4.2 内部类和内部接口(续),【例4.4】 直线类声明内嵌的点类和方向接口。,2019/3/10,12,1.3.3 包,1问题的提出,2什么是包,从逻辑概念看,包(package)是类的集合,一个包中包含多个类; 从存储概念看,包是类的组织方式,一个包对应一个文件夹,一个文件夹中包含多个字节码文件; 包与类的关系,就像文件夹

8、与文件的关系一样。包中还可以再有子包,称为包等级,子包对应一个子文件夹。,为解决字节码文件存放和类命名的问题,Java提供了包机制。,2019/3/10,13,1.3.1 包(续),创建与包同名的文件夹 F:myjavamypackage 声明类所在的包 package 包1.包2; 例如:package mypackage; /声明所在的包 引用包中的类 包1.包2.类|接口 导入包 import 包1.包2.类|接口|*; 例如:import mypackage.Line; import java.awt.*; 默认包路径:当前文件夹,3创建、声明和导入包,【例1.4】 创建及使用包。,2

9、019/3/10,14,1.3.1 包(续),Java源程序结构 package /声明包,01句 import /导入包,0多句 public class 或interface /声明公有类或接口, 01 句,文件名与该名相同 class /声明默认类,0多句 interface /声明接口,0多句,2019/3/10,15,Java的常用包 查看Java包中的类 查看Java的源程序及包等级 导入Java的包,java.lang 语言包 java.util 实用包 java.awt 抽象窗口工具包 java.applet java.io 输入输出流包 网络包 java.sql 数据库应用

10、 javax.swing 图形用户界面,import java.util.Date; import java.awt.*;,解压JDK帮助文档 jdk-?-doc.zip,解压src.zip,1.3.1 包(续) Java API基础,2019/3/10,16,Object类 Math数学类 Comparable接口 基本数据类型包装类 String字符串类 Class类操作类 System系统类 Runtime运行时类,补充例:猜数游戏(Guess.java) 获得运行时信息(Runtimeinfo.java),4.3 java.lang包中的基础类库,2019/3/10,17,【补充例】计

11、算程序执行的时间,/Elapsed.java public class Elapsed public static void main(String args) long start, end, sum = 0; System.out.println(“ a loop from 0 to 1,000,000,000“); start = System.currentTimeMillis(); for (int i = 0; i 1000000000; i+) sum = sum + i * i; end = System.currentTimeMillis(); System.out.prin

12、tln(“Elapsed time: “ + (end - start); ,2019/3/10,18,【补充例】执行Java外部程序,/ExecDemo.java public class ExecDemo public static void main(String args) Runtime r = Runtime.getRuntime(); Process p = null; try p = r.exec(“notepad“); /程序暂停1秒钟 Thread.sleep(1000); /关闭外部程序 p.destroy(); /改为p.waitFor() catch (Excepti

13、on e) System.out.println(“Error executing notepad.“); ,2019/3/10,19,4.4 java.util包中的工具类库,4.4.1 日期类 4.4.2 Arrays数组类 4.4.3 Random随机数序列类,2019/3/10,20,4.4.1 日期类,1Date日期类 2Calendar类,【例4.5】 月历。,【补充例】获得系统当前日期和时间,并按指定格式输出。,【补充例】 CalculateDay.java,2019/3/10,21,4.4.2 Arrays数组类,比较两个数组是否相等 public static boolean

14、 equals(int a, int b) public static boolean equals(Object a, Object b) 填充 public static void fill(int a, int val) 排序 public static void sort(Object a) public static void sort(T a, Comparator c) 二分法(折半)查找 public static int binarySearch(Object a, Object key) public static int binarySearch(T a, T key,

15、Comparator c),【例4.6】 对象数组的排序和查找。,2019/3/10,22,4.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.2,2019/3/10,23,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1