欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第4章接口、内部类和JavaAPI基础.ppt

    • 资源ID:5912060       资源大小:711.04KB        全文页数:53页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第4章接口、内部类和JavaAPI基础.ppt

    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 接口与实现接口的类,声明接口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.声明实现接口的类,修饰符 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 double 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,20);/父类对象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 接口声明的抽象方法在实现该接口的多个类中表现出运行时多态性,Java程序设计实用教程(第4版),2.接口与抽象类的区别,抽象类为子类约定方法声明,抽象类可以给出部分实现,包括构造方法等;抽象方法在多个子类中表现出多态性。类的单继承,使得一个类只能继承一个父类的约定和实现。接口为多个互不相关的类约定某一特性的方法声明,在类型层次中表达对象拥有的属性。接口没有实现部分。接口是多继承的。一个类实现多个接口,就具有多种特性,也是多继承的。,Java程序设计实用教程(第4版),3.单继承和多继承,类的单继承的优点,Java程序设计实用教程(第4版),3.单继承和多继承,类的单继承的优点,Java程序设计实用教程(第4版),(2)接口的多态性,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);对象嵌套:实例内嵌类型,Java程序设计实用教程(第4版),作为类型的特性,内嵌类型不能与外层类型同名。内部类中可以声明成员变量和成员方法。内部类可以继承父类或实现接口。可以声明内部类为抽象类,该抽象类必须被其他内部类继承;内部接口必须被其他内部类实现。,Java程序设计实用教程(第4版),2.作为成员的特性,使用点运算符“.”引用内嵌类型:外层类型.内嵌类型Pixel.Color内嵌类型具有类中成员的4种访问控制权限。当内部类可被访问时,才能考虑内部类中成员的访问控制权限。内嵌类型与其外层类型彼此信任,能访问对方的所有成员。内部接口总是静态的。内部类可声明是静态的或实例的,静态内部类能够声明静态成员,但不能引用外部类的实例成员;实例内部类不能声明静态成员。,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包中的工具类库,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版),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次幂 public 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(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 final 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()/覆盖Object类中方法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版),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字符串类,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)/比较字符串是否相等 public boolean equalsIgnoreCase(String s)/忽略字母大小写 public int compareTo(String s)/比较字符串的大小 public int compareToIgnoreCase(String str),Java程序设计实用教程(第4版),Person类按姓名比较对象大小,public class Person implements Comparable public int compareTo(Person p)return pareTo(p.name);/比较姓名大小,调用String类的compareTo()方法【思考题4-1】修改MyDate类的compareTo(d)方法实现,返回两个日期相距的天数。Person类按出生日期比较对象大小。Student类能否比较对象大小?能否实现按学号比较对象大小?为什么?,Java程序设计实用教程(第4版),7.Class类,public final class Class public String getName()/返回当前类名字符串 public Class getSuperclass();/返回当前类的父类 public Package getPackage()/返回当前类所在的包this.getClass().getName()this.getClass().getSuperclass().getName()this.getClass().getPackage().getName(),Java程序设计实用教程(第4版),8.System系统类,public final class System extends Object public final static InputStream in=nullInputStream();public final static PrintStream out=nullPrintStream();public 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开始至当前时间的累计毫秒数 public static Properties getProperties()/获得系统全部属性 public static String getProperty(String key)/获得指定系统属性,Java程序设计实用教程(第4版),复制数组,public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)例如:int a=1,2,3,4,5;int b;arraycopy(a,0,b,1,4);/将a数组的前4个元素复制到b数组中,Java程序设计实用教程(第4版),9.Runtime运行时类,public class Runtime extends Object public static Runtime getRuntime()/返回与当前应用程序相联系的运行时环境 public long totalMemory()/返回系统内存空间总量 public long freeMemory()/返回系统内存剩余空间的大小,Java程序设计实用教程(第4版),4.3.2 java.util包中的工具类库1.日期类,Date日期类public class Date extends Object implements java.io.Serializable,Cloneable,Comparable public Date()/获得系统当前日期和时间的Date对象 this(System.currentTimeMillis();public Date(long date)/以长整型值创建Date对象 public int compareTo(Date date)/比较日期大小,返回0、1、-1,Java程序设计实用教程(第4版),(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/时 public static final int MINUTE/分 public static final int SECOND/秒 public static final int MILLISECOND/百分秒 public static final int DAY_OF_WEEK/星期,Java程序设计实用教程(第4版),(2)Calendar类,public abstract class Calendar extends Object implements Serializable,Cloneable,Comparable public static Calendar getInstance()/创建实例 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.getInstance();/获得实例int year=now.get(Calendar.YEAR);/获得对象中的年份值,Java程序设计实用教程(第4版),(3)GregorianCalendar类,public class GregorianCalendar extends Calendar public GregorianCalendar()/以当前日期时间创建对象 public GregorianCalendar(int year,int month,int day)public GregorianCalendar(int year,int month,int day,int hour,int minute,int second)public boolean isLeapYear(int year)/判断是否闰年/例3.2 MyDate类中,获得当前日期对象的年份值thisYear=new GregorianCalendar().get(Calendar.YEAR);【例4.3】月历。,Java程序设计实用教程(第4版),2.Comparator比较器接口,public interface Comparator public abstract boolean equals(Object obj);/比较两个比较器对象是否相等 public abstract int compare(T cobj1,T cobj2);/指定比较两个对象大小的规则【例4.4】Person类的多种比较规则。(1)约定多种比较对象大小的规则(2)约定多种比较对象相等的规则,Java程序设计实用教程(第4版),3.Arrays数组类,排序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,Comparator c),Java程序设计实用教程(第4版),【例4.5】对象数组的排序和查找。,Person value=new Person(),new Student(),;Person对象数组按姓名排序和查找/默认由Person类compareTo()方法约定比较对象大小的规则Arrays.sort(value);/value对象数组按姓名升序排序int i=Arrays.binarySearch(value,new Person(白杨,null);/在value中以二分法查找指定对象,Java程序设计实用教程(第4版),【例4.5】对象数组的排序和查找。,Person对象数组按出生日期排序/由Comparator比较器对象的compare()方法约定比较对象大小的规则Arrays.sort(value,new CompareBirthday();/value对象数组按出生日期升序排序MyDate date=new MyDate(1992,3,15);i=Arrays.binarySearch(value,new Person(,date),new CompareBirthday();,Java程序设计实用教程(第4版),【思考题4-4】,Person类分别按姓氏、出生年份或姓名的模糊查询进行排序和查找。Student类分别按学号、系、专业等排序和查找。,Java程序设计实用教程(第4版),4.4 泛型,泛型声明 修饰符 class 类 extends 父类 implements 接口列表public interface 接口 extends 父接口列表public static 返回值类型 方法(参数列表)throws 异常类列表 类型变量 extends 父类型列表,Java程序设计实用教程(第4版),2.泛型的必要性,Object对象数组Object value=new Object(),xyz,new Integer(123);valuei.toString()/运行时多态value1.length()/编译错,Object类没有声明length()方法,Java程序设计实用教程(第4版),(2)Comparable对象数组,Comparable value=abc,xyz,def,ghi,new Integer(123);/数组元素类型不同pareTo(value1)/两个数组元素可比较对象大小pareTo(value4)/String实例与Integer实例不可比,抛出异常,Java程序设计实用教程(第4版),(3)Comparable,Comparable scom=abc;/String实现ComparableComparable pcom=new Person(李明,null,男,);/Person实现Comparable,Java程序设计实用教程(第4版),(4)具有指定特性的T对象数组,public static void sort(T value)已知 public class Person implements Comparable/提供compareTo(Person)方法public class Student extends Person,Java程序设计实用教程(第4版),Comparable与Comparable,Person pvalue=new Person();sort(pvalue);/Person实现omparableStudent svalue=new Student(),;sort(svalue);/编译错,因为Student继承Person类,实现Comparable接口,/没有实现Comparable接口,不满足T extends Comparable语法public class Student implements Comparable/提供compareTo(Student)方法,Java程序设计实用教程(第4版),3.泛型的继承性及通配符,Comparator是所有Comparator的父类型,“?”称为通配符,表示通配类型,代表能够匹配任何类型。“?”还有以下两种限定通配符用法:?extends T/?表示T及其任意一种子类型,T称为?的上界?super T/?表示T及其任意一种父类型,T称为?的下界public static void sort(T value)public static void sort(T value,Comparator c),Java程序设计实用教程(第4版),第4章 接口、内部类和Java API基础,内容和要求:理解接口的作用,理解接口和实现接口的类的关系,掌握声明接口、一个类实现多个接口的声明和使用方法。理解内嵌类型的概念,掌握声明内部类的方法。熟悉Java语言包和实用包中的常用类。重点:接口和实现接口的类;Java API。难点:接口,内部类,Java API。,

    注意事项

    本文(第4章接口、内部类和JavaAPI基础.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开