接口内部类和JavaAPI基础.ppt
《接口内部类和JavaAPI基础.ppt》由会员分享,可在线阅读,更多相关《接口内部类和JavaAPI基础.ppt(50页珍藏版)》请在三一办公上搜索。
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。,为什么要引入接口标准的制定者和实现者分开实现多继承对一组具有共同行为的类
2、抽象:面向接口编程,接口的作用,接口提供方法声明与方法实现想分离的机制,使多个类之间表现出共同的行为能力;使得Java具有实现多继承的能力。,Java程序设计实用教程(第4版),Java程序设计实用教程(第4版),4.1 接口与实现接口的类,接口:是一组抽象方法、常量和内嵌类型的集合。是一种数据类型,采用抽象的形式描述一种约定;接口只有被类实现了才有意义。,1、声明接口public interface 接口 extends 父接口列表 public static final 数据类型 成员变量=常量值;public abstract 返回值类型 成员方法(参数列表);,Java程序设计实用教程
3、(第4版),public interface Area/可计算面积接口 public abstract double area();/计算面积方法 接口不能被实例化,Java程序设计实用教程(第4版),Java程序设计实用教程(第4版),可计算周长接口,public interface Perimeter public abstract double perimeter();/抽象方法,计算周长,或者:public interface PlaneGraphics/平面图形接口 public abstract double area();/计算面积 public abstract double
4、perimeter();/计算周长,Java程序设计实用教程(第4版),Java程序设计实用教程(第4版),2.声明实现接口的类,修饰符 class 类 extends 父类 implements 接口列表例如,public class Rectangle implements PlaneGraphics实现接口的非抽象类必须实现所有接口中的所有抽象方法,而且参数列表必须相同,否则声明为抽象类,接口的例子:/抽象出跑的行为 public interface Runner public void run();public class Car implements Runnerpublic voi
5、d run()System.out.println(car run.);public class Dog implements Runnerpublic void run()System.out.println(“dog run.);,/抽象出演奏的行为 public interface Instrument public void play()public class Lute implements Instrument/琵琶public void play()public class Accordion implements Instrument/手风琴public void play()
6、,图4.1 图形接口与实现图形接口的类,【例4.1】图形接口与实现图形接口的类设计可计算面积接口PlaneGraphics。设计长方形类Rectangle,实现平面图形接口。练习:设计圆形类Circle,实现平面图形接口。,接口的特点接口中成员的访问权限都是public接口中的成员方法都是公有的、抽象的实例成员方法,默认修饰符public abstract;接口中的所有抽象方法必须全部被实现接口的类覆盖接口中的成员变量都是常量、静态的,默认修饰符public static final;接口不能被实例化,只能通过其实现类实例化。PlaneGraphics g1=new Rectangle(10,
7、20);接口是引用数据类型,用接口实现多重继承:一个类可以继承一个父类并实现多个接口图4.2 继承机制,【例4.2】长方体类继承长方形类并实现立体图形接口设计立体图形接口SolidGraphics,包含抽象的求体积方法volume();设计长方体类Cuboid,继承长方形类并实现立体图形接口,重写求面积方法以求长方体表面积,实现求体积方法。练习:设计圆球类Globe,继承圆形类,实现立体图形接口,图4.3 长方体类的多重继承,【例4.3】球类实现多个接口图4.4 球类的多重继承,接口的继承,图4.5 接口的继承,接口与抽象类的区别相同点:1.两者都可包含抽象方法2.两者都不能被实例化3.两者都
8、是引用数据类型不同点:1.抽象类约定多个子类之间共同使用的方法;接口约定多个互不相关类之间共同使用的方法;2.抽象类与子类之间采用单重继承机制;一个类实现多个接口则实现了多重继承的功能;3.抽象类中成员具有与普通类成员一样的访问权限;接口中成员的访问权限均是public4.抽象类中可以包含非抽象方法,也可以声明构造方法;接口中的方法全部是抽象方法,不能声明构造方法5.抽象类中可以声明成员变量;接口中只能声明常量。,4.2 内部类和内部接口,内部类和内部接口是声明在其他类和接口内部的内嵌类型,包含内部类型的类或接口称为外层类型或外部类型。,声明内部类public class Line/直线类,外
9、部类 protected Point p1,p2;/直线的起点和终点 protected class Point/点类,内部类 protected int x,y;/内部类的成员变量 protected Point(int x,int y)/内部类的构造方法 this.x=x;this.y=y;,内部类特性内部类的类特性1.内部类不能与外部类同名2.内部类具有封装性3.内部类具有继承性4.内部类具有抽象性内部类的成员特性1.使用点运算符“.”引用内部类。例如:Line.Point定义对象:Line.Point p=new Line().new Point();2.内部类具有4种类中成员的访问权
10、限3.内部类具有静态特性,内部类的作用:可以更好地实现信息隐藏,因为可以定义为类成员的四种访问权限可以无条件访问其外部类的所有成员;可以实现多重继承;当一个类继承的父类和实现的接口有同名方法时,可以避免冲突。,Java程序设计实用教程(第4版),4.3 Java API基础(了解),4.3.1 java.lang包中的基础类库4.3.2 java.util包中的工具类库API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
11、,Java程序设计实用教程(第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版
12、),2.Math数学类,public final class Math extends Object常量 public static double abs(double a)/求绝对值 public static double random()/返回一个0.01.0之间的随机数 public static double pow(double a,double b)/返回a的b次幂 public static double sqrt(double a)/返回a的平方根值 public static double sin(double a)/返回a的正弦值,Java程序设计实用教程(第4版),3.
13、Comparable可比较接口,public interface Comparable int compareTo(T cobj)/比较对象大小 其中,是Comparable接口的参数,表示一个类。,Java程序设计实用教程(第4版),MyDate类对象比较大小,public class MyDate implements Comparable public int compareTo(MyDate d)/约定比较日期大小的规则,返回-1、0、1 if(this.year=d.year,Java程序设计实用教程(第4版),4.基本数据类型的包装类,8个Byte、Short、Integer、Lo
14、ng、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 final int MAX_VALUE=0 x7fffffff;/最大值231-1 private final int value;/私有最终变量,构造时赋值 public Integer(int value)/
15、构造方法 public Integer(String s)throws NumberFormatException public static int parseInt(String s)throws NumberFormatException/将字符串转换为整数,静态方法,Java程序设计实用教程(第4版),Integer,public String toString()/覆盖Object类中方法public static String toBinaryString(int i)/将i转换成二进制字符串,i时,省略高位0public static String toOctalString(i
16、nt i)/将i转换成八进制字符串,i时,省略高位0public static String toHexString(int i)/将i转换成十六进制字符串public boolean equals(Object obj)/覆盖Object类中方法 public int compareTo(Integer iobj)/比较两个对象值大小,返回1、0或1,Integer类的常见用法,Integer in=new Integer(“123”);/定义一个Integer对象,对应整数值123int b=in.intValue();/实现Integer类型和int之间的转换int a=Integer.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 接口 部类 JavaAPI 基础
链接地址:https://www.31ppt.com/p-5980260.html