第04章 接口、内部类和Java API基础.ppt_第1页
第04章 接口、内部类和Java API基础.ppt_第2页
第04章 接口、内部类和Java API基础.ppt_第3页
第04章 接口、内部类和Java API基础.ppt_第4页
第04章 接口、内部类和Java API基础.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、三、第4章 接口、内部类和Java API基础,北京邮电大学计算机学院 许可 xu_,提纲,Java程序设计实用教程(第3版),4.1 接口 4.2 内部类和内部接口 4.3 java.lang包中的基础类库 4.4 java.util包中的工具类库,4.1 接口,4.1.1 接口与实现接口的类 4.1.2 用接口实现多重继承,Java程序设计实用教程(第3版),4.1.1 接口与实现接口的类,声明接口 public interface 接口 extends 父接口列表 public static final 数据类型 成员变量=常量值; public abstract 返回值类型 成员方法(

2、参数列表); public interface Area /可计算面积接口 public abstract double area();/计算面积 接口不能被实例化!,Java程序设计实用教程(第3版),2. 声明实现接口的类,修饰符 class 类 extends 父类 implements 接口列表 例如, public class Rectangle implements Area public class Ellipse implements Area 实现接口的非抽象类必须实现所有接口中的所有抽象方法,否则声明为抽象类,Java程序设计实用教程(第3版),【例4.1】可计算面积接口与

3、实现该接口的矩形类。,Java程序设计实用教程(第3版),3. 接口是引用数据类型,/接口变量g引用实现接口的类的对象 Area g = new Rectangle(10,20); /执行Rectangle的方法 g.toString() /g引用椭圆对象 g = new Ellipse(10,20); /执行Ellipse的方法 g.toString(),Java程序设计实用教程(第3版),【例4.2】可计算面积接口与实现该接口的矩形类。,Java程序设计实用教程(第3版),【例4.3】 球类实现多个接口。,Java程序设计实用教程(第3版),4.1 接口,4.1.1 接口与实现接口的类 4

4、.1.2 用接口实现多重继承,Java程序设计实用教程(第3版),1.接口的多继承,Java程序设计实用教程(第3版),2.接口与抽象类的区别,抽象类: 可以给出部分方法的实现,包括构造方法; 一个类只能继承一个抽象类(单继承); 抽象类有成员变量。 接口: 只有抽象的实例成员方法,都没有实现; 一个类可以实现多个接口(多继承); 接口中的成员变量都是静态常量。,Java程序设计实用教程(第3版),3. 单继承和多继承,Java程序设计实用教程(第3版),图4.6 多继承的“钻石继承”类型会导致二义性,Java程序设计实用教程(第3版),提纲,Java程序设计实用教程(第3版),4.1 接口

5、4.2 内部类和内部接口 4.3 java.lang包中的基础类库 4.4 java.util包中的工具类库,4.2 内部类和内部接口,public class Line /直线类,外层类型 class Point /点类,内嵌类型 ,Java程序设计实用教程(第3版),作为类型的特性,内嵌类型不能与外层类型同名。 内部类中可以声明成员变量和成员方法。 内部类可以继承父类或实现接口。 内部类可以声明为抽象类或内部接口。,Java程序设计实用教程(第3版),2. 作为成员的特性,使用点运算符“.”引用内嵌类型: 外层类型.内嵌类型 Line.Point 彼此信任,能访问对方的所有成员。 具有类中

6、成员的4种访问控制权限。 内部接口总是静态的。,Java程序设计实用教程(第3版),【例4.4】 直线类声明内嵌的点类和方向接口。,Java程序设计实用教程(第3版),提纲,Java程序设计实用教程(第3版),4.1 接口 4.2 内部类和内部接口 4.3 java.lang包中的基础类库 4.4 java.util包中的工具类库,4.3 java.lang包中的基础类库,4.3.1 Object类 4.3.2 Math数学类 4.3.3 Comparable可比较接口 4.3.4 基本数据类型的包装类 4.3.5 String字符串类 4.3.6 Class类操作类 4.3.7 System

7、系统类和Runtime运行时类,Java程序设计实用教程(第3版),4.3.1 Object类,package java.lang; public class Object public Object() /构造方法 public final native Class getClass(); /返回当前对象所在的类 public boolean equals(Object obj) /比较当前对象与obj是否相等 public String toString() /返回当前对象的信息字符串 protected void finalize() throws Throwable /析构方法 ,Ja

8、va程序设计实用教程(第3版),4.3.2 Math数学类,public final class Math extends Object public static final double E = 2.7182818284590452354; /常量 public static final double PI = 3.14159265358979323846; public static double abs(double a) /求绝对值 public static double max(double a,double b) /最大值 public static double min(do

9、uble a,double b) /最小值 public static double random() /返回一个0.01.0之间的随机数 ,Java程序设计实用教程(第3版),4.3.3 Comparable可比较接口,public interface Comparable int compareTo(T o) /比较对象 其中,是Comparable接口的参数,表示一个类。,Java程序设计实用教程(第3版),4.3.4 基本数据类型的包装类,8个Byte、Short、Integer、Long、Float、Double、Character、Boolean。 public final cla

10、ss Integer extends Number implements Comparable public static final int MIN_VALUE = 0 x80000000;/最小值常量,-231 public static final int MAX_VALUE = 0 x7fffffff; /最大值常量,231-1 public Integer(int value) /构造方法 public Integer(String s) throws NumberFormatException public static int parseInt(String s) throws

11、NumberFormatException /将字符串转换为整数,静态方法 public boolean equals(Object obj) /覆盖Object类中方法 public String toString() /覆盖Object类中方法 public int compareTo(Integer anotherInteger) /比较两个对象的大小,返回两者之间的差值,实现Comparable接口中方法 ,Java程序设计实用教程(第3版),4.3.5 String字符串类,public final class String extends Object implements jav

12、a.io.Serializable, Comparable, CharSequence public String() /构造方法 public String(String original) public String toString() /覆盖Object类中方法 public int length() /返回字符串的长度 public boolean equals(Object obj) /比较字符串是否相等 public boolean equalsIgnoreCase (String s)/忽略字母大小写 public int compareTo(String anotherStr

13、ing) /比较字符串的大小,实现Comparable接口方法 public int compareToIgnoreCase(String str) /比较字符串的大小,忽略字母大小写 ,Java程序设计实用教程(第3版),4.3.6 Class类操作类,public final class Class public String getName() /返回当前类名字符串 public Class getSuperclass(); /返回当前类的父类 public Package getPackage() /返回当前类所在的包 System.out.print(this.getClass().

14、getName()+ ); this.getClass().getSuperclass().getName() this.getClass().getPackage().getName(),Java程序设计实用教程(第3版),4.3.7 System系统类和Runtime运行时类,public final class System extends Object public final static InputStream in = nullInputStream(); public final static PrintStream out = nullPrintStream(); publi

15、c final static PrintStream err = nullPrintStream(); public static native viod arraycopy(Object src, int src_pos, Object dst, int dst_pos, int length) /复制数组 public static void exit(int status) /结束当前运行的程序 public static native long currentTimeMillis(); /获得当前日期和时间,返回从1970-1-1 00:00:00开始至当前时间的累计毫秒数 publi

16、c static Properties getProperties() /获得系统全部属性 public static String getProperty(String key) /获得指定系统属性 ,Java程序设计实用教程(第3版),Runtime运行时类,public class Runtime extends Object public static Runtime getRuntime()/返回与当前应用程序相联系的运行时环境 public long totalMemory() /返回系统内存空间总量 public long freeMemory() /返回系统内存剩余空间的大小

17、,Java程序设计实用教程(第3版),提纲,Java程序设计实用教程(第3版),4.1 接口 4.2 内部类和内部接口 4.3 java.lang包中的基础类库 4.4 java.util包中的工具类库,4.4 java.util包中的工具类库,4.4.1 日期类 4.4.2 Arrays数组类 4.4.3 Random随机数序列类,Java程序设计实用教程(第3版),4.4.1 日期类,Date日期类 public class Date extends Object implements java.io.Serializable, Cloneable, Comparable public D

18、ate() /构造方法,获得系统当前日期和时间的Date对象 this(System.currentTimeMillis(); public Date(long date) /构造方法,以长整型值创建Date对象 public void setTime(long time) /设置时间对应的长整型值 public long getTime() /返回对象中的时间值 public boolean before(Date when) /判断是否在指定日期之前 public boolean after(Date when) /判断是否在指定日期之后 public int compareTo(Date

19、 anotherDate) /比较两个日期 ,Java程序设计实用教程(第3版),1970.1.1 0:0:0 的累计毫秒数,2. Calendar类,public abstract class Calendar extends Object implements Serializable, Cloneable, Comparable public static final int YEAR /年,常量 public static final int MONTH /月 public static final int DATE /日 public static final int HOUR /时

20、 public static final int MINUTE /分 public static final int SECOND /秒 public static final int MILLISECOND /百分秒 public static final int DAY_OF_WEEK /星期 ,Java程序设计实用教程(第3版),Calendar类,public abstract class Calendar extends Object implements Serializable, Cloneable, Comparable public static Calendar getIn

21、stance() /创建实例 public int get(int field) /返回日期 public final Date getTime() /返回对象中的日期和时间 public final void setTime(Date date) /设置对象的日期和时间 public final void set(int year, int month, int date) public final void set(int year, int month, int date, int hour, int minute) 例如,Calendar now = Calendar.getInsta

22、nce(); /获得实例 int year =now.get(Calendar.YEAR); /获得对象中的年份值 【例4.5】 月历。,Java程序设计实用教程(第3版),为什么这里的抽象类可以调用方法?,4.4.2 Arrays数组类,比较两个数组是否相等 public static boolean 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 stati

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论