第4章接口、内部类和JavaAPI基础.ppt
《第4章接口、内部类和JavaAPI基础.ppt》由会员分享,可在线阅读,更多相关《第4章接口、内部类和JavaAPI基础.ppt(53页珍藏版)》请在三一办公上搜索。
1、Java程序设计实用教程(第4版),第4章 接口、内部类和Java API基础,4.1 接口与实现接口的类4.2 内部类和内部接口 4.3 Java API基础 4.4 泛型,Java程序设计实用教程(第4版),第4章 接口、内部类和Java API基础,内容和要求:理解接口的作用,理解接口和实现接口的类的关系,掌握声明接口、一个类实现多个接口的声明和使用方法。理解内嵌类型的概念,掌握声明内部类的方法。熟悉Java语言包和实用包中的常用类。重点:接口和实现接口的类;Java API。难点:接口,内部类,Java API。,Java程序设计实用教程(第4版),4.1 接口与实现接口的类,声明接口
2、public interface 接口 extends 父接口列表 public static final 数据类型 成员变量=常量值;public abstract 返回值类型 成员方法(参数列表);public interface Area/可计算面积接口 public abstract double area();/计算面积 接口不能被实例化,Java程序设计实用教程(第4版),可计算周长接口,public interface Perimeter public abstract double perimeter();/抽象方法,计算周长,Java程序设计实用教程(第4版),2.声明实现接
3、口的类,修饰符 class 类 extends 父类 implements 接口列表例如,public abstract class ClosedFigure extends Figure implements Area,Perimeter实现接口的非抽象类必须实现所有接口中的所有抽象方法,否则声明为抽象类,Java程序设计实用教程(第4版),图4.1 ClosedFigure类的继承关系,Java程序设计实用教程(第4版),例4.1 接口与实现接口的类。,声明可计算体积接口Volume如下:public interface Volume/可计算体积接口 public abstract dou
4、ble volume();/抽象方法,计算体积,Java程序设计实用教程(第4版),(2)声明柱体类Cylinder,实现Area和Volume接口。,Java程序设计实用教程(第4版),3.接口是多继承的,public interface Solid extends Area,Volume/立体接口,继承Area和Volume接口public class Globe extends Object implements Solid/球类,实现Solid接口,Java程序设计实用教程(第4版),4.接口是引用数据类型,ClosedFigure fig=new Ellipse(point,10,2
5、0);/父类对象fig引用椭圆子类实例Area ar=fig;/Area接口对象ar引用实现Area接口的ClosedFigure类的Ellipse子类实例ar.area()/运行时多态Cylinder cylinder=new Cylinder(fig,10);/椭圆柱ar=cylinder;/ar引用实现Area接口的Cylinder类的实例Volume vol=cylinder;/Volume接口对象vol引用实现Volume接口的Cylinder类的实例ar.area()/运行时多态 vol.volume(),Java程序设计实用教程(第4版),图4.4 接口声明的抽象方法在实现该接口
6、的多个类中表现出运行时多态性,Java程序设计实用教程(第4版),2.接口与抽象类的区别,抽象类为子类约定方法声明,抽象类可以给出部分实现,包括构造方法等;抽象方法在多个子类中表现出多态性。类的单继承,使得一个类只能继承一个父类的约定和实现。接口为多个互不相关的类约定某一特性的方法声明,在类型层次中表达对象拥有的属性。接口没有实现部分。接口是多继承的。一个类实现多个接口,就具有多种特性,也是多继承的。,Java程序设计实用教程(第4版),3.单继承和多继承,类的单继承的优点,Java程序设计实用教程(第4版),3.单继承和多继承,类的单继承的优点,Java程序设计实用教程(第4版),(2)接口
7、的多态性,Java程序设计实用教程(第4版),(3)类的多继承存在二义性问题,Java程序设计实用教程(第4版),4.2 内部类和内部接口,public class Pixel/像素类,外层类型,外部类 public static interface ColorConstant/颜色常量接口,静态内部接口,类型嵌套 public static class Color extends Object implements ColorConstant/颜色类,静态内部类类型嵌套:静态内嵌类型 Pixel.Color color=new Pixel.Color(255,255,255);对象嵌套:实例
8、内嵌类型,Java程序设计实用教程(第4版),作为类型的特性,内嵌类型不能与外层类型同名。内部类中可以声明成员变量和成员方法。内部类可以继承父类或实现接口。可以声明内部类为抽象类,该抽象类必须被其他内部类继承;内部接口必须被其他内部类实现。,Java程序设计实用教程(第4版),2.作为成员的特性,使用点运算符“.”引用内嵌类型:外层类型.内嵌类型Pixel.Color内嵌类型具有类中成员的4种访问控制权限。当内部类可被访问时,才能考虑内部类中成员的访问控制权限。内嵌类型与其外层类型彼此信任,能访问对方的所有成员。内部接口总是静态的。内部类可声明是静态的或实例的,静态内部类能够声明静态成员,但不
9、能引用外部类的实例成员;实例内部类不能声明静态成员。,Java程序设计实用教程(第4版),2.作为成员的特性,在实例内部类中,使用以下格式引用或调用外部类当前实例的成员变量或实例成员方法:外部类.this.成员变量/引用外部类当前实例的成员变量外部类.this.实例成员方法(参数列表)/调用外部类当前实例的成员方法,Java程序设计实用教程(第4版),【例4.4】像素类,声明颜色常量内部接口和颜色内部类。,图4.8 颜色RGB整数结构图,Java程序设计实用教程(第4版),4.3 Java API基础,4.3.1 java.lang包中的基础类库4.3.2 java.util包中的工具类库,J
10、ava程序设计实用教程(第4版),4.3.1 java.lang包中的基础类库,Object类package java.lang;public class Object public Object()/构造方法 public final Class getClass();/返回当前对象所在的类 public boolean equals(Object obj)/比较当前对象与obj是否相等 public String toString()/返回当前对象的信息字符串 protected void finalize()throws Throwable/析构方法,Java程序设计实用教程(第4版),
11、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 random()/返回一个0.01.0之间的随机数 public static double pow(double a,double b)/返回a的b次幂 pub
12、lic static double sqrt(double a)/返回a的平方根值 public static double sin(double a)/返回a的正弦值,Java程序设计实用教程(第4版),3.Comparable可比较接口,public interface Comparable int compareTo(T cobj)/比较对象大小 其中,是Comparable接口的参数,表示一个类。,Java程序设计实用教程(第4版),MyDate类对象比较大小,public class MyDate implements Comparable public int compareTo(
13、MyDate d)/约定比较日期大小的规则,返回-1、0、1 if(this.year=d.year,Java程序设计实用教程(第4版),4.基本数据类型的包装类,8个Byte、Short、Integer、Long、Float、Double、Character、Boolean。,Java程序设计实用教程(第4版),Integer,public final class Integer extends Number implements Comparable public static final int MIN_VALUE=0 x80000000;/最小值-231 public static f
14、inal int MAX_VALUE=0 x7fffffff;/最大值231-1 private final int value;/私有最终变量,构造时赋值 public Integer(int value)/构造方法 public Integer(String s)throws NumberFormatException public static int parseInt(String s)throws NumberFormatException/将字符串转换为整数,静态方法,Java程序设计实用教程(第4版),Integer,public String toString()/覆盖Obje
15、ct类中方法public static String toBinaryString(int i)/将i转换成二进制字符串,i时,省略高位0public static String toOctalString(int i)/将i转换成八进制字符串,i时,省略高位0public static String toHexString(int i)/将i转换成十六进制字符串public boolean equals(Object obj)/覆盖Object类中方法 public int compareTo(Integer iobj)/比较两个对象值大小,返回1、0或1,Java程序设计实用教程(第4版)
16、,Double类,public final class Double extends Number implements Comparable public Double(double value)public Double(String s)throws NumberFormatException public static double parseDouble(String s)throws NumberFormatException/将串s转换为浮点数 public double doubleValue()/返回当前对象中的浮点数值,Java程序设计实用教程(第4版),5.String字
17、符串类,public final class String extends Object implements java.io.Serializable,Comparable,CharSequence private final char value;/字符数组,最终变量 public String()/构造方法 public String(String original)public String toString()/覆盖Object类中方法 public int length()/返回字符串的长度 public boolean equals(Object obj)/比较字符串是否相等 p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 接口 部类 JavaAPI 基础

链接地址:https://www.31ppt.com/p-5912060.html