欢迎来到天天文库
浏览记录
ID:39425652
大小:364.50 KB
页数:32页
时间:2019-07-03
《接口、内部类和JavaAPI》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、接口、内部类和JavaAPI基础金陵科技学院刘晶2011.34复习OOP的概念类和对象OOP的特点类的封装性类的继承性类的多态性类的抽象性2面向对象编程主要内容JAVA的接口接口的声明与实现接口的多重继承性内部类与内部接口JAVAAPI常用包语言包:java.lang实用包:java.util3面向对象编程接口(interface)接口是一种特殊的类,是作为一个整体声明的抽象方法和常量方法:公有、抽象、无定义的常量:隐含为public、final和static的声明接口[public]interface接口[extends父接口列表]{[public][static][final]数
2、据类型成员变量=常量值;[public][abstract]返回值类型成员方法[(参数列表)];}4面向对象编程接口(interface)(续)实现接口当一个类实现某一接口时,必须具体实现该interface中定义的所有抽象方法,否则为抽象方法[修饰符]class类<泛型>[extends父类][implements接口列表]利用接口可实现多重继承在程序开发的早期建立一组协议而不具体实现便于设计更合理的类层次,代码更灵活5面向对象编程接口的特点接口及接口中成员的访问权限都是public接口中的成员方法都是公有的、抽象的实例成员方法接口中的所有抽象方法必须全部被实现接口的类覆盖接口中的
3、成员变量都是常量接口不能被实例化接口是引用数据类型6面向对象编程接口(interface)(续)例:乐器族谱Music.java我们可以使用接口来实现继承吗?InstrumentWindPercussionStringed7面向对象编程【例4.1】可计算面积接口与实现该接口的矩形类。8面向对象编程【例4.2】可计算体积接口与实现该接口的长方体类。9面向对象编程【例4.3】球类实现多个接口10面向对象编程Java用接口实现多重继承接口的多继承接口与抽象类的区别11面向对象编程内部类与内部接口Java1.1中允许在类体中定义新的类或接口,称为innerclasses内部类的特性:内部类不
4、能与外部类同名内部类具有封装性内部类具有继承性内部类具有抽象性12面向对象编程内部类与内部接口作为成员的特性使用点运算符“.”引用内嵌类型:外层类型.内嵌类型Line.Point彼此信任,能访问对方的所有成员。具有类中成员的4种访问控制权限。内部接口总是静态的;静态内部类可声明静态成员,但不能引用外部类的实例成员和其他内部类成员其他类使用内部类成员的例子:TestInner.java在内部类中区分同名变量的例子:Outer.java13面向对象编程【例4.4】直线类声明内嵌的点类和方向接口。14面向对象编程Java的类库结构类库的结构java.lang、java.util、java.
5、io、java.applet、java.awt、java.awt.event、java.net、java.sql使用JDKDocument查看类库语言基础类库(java.lang)Object、数据类型包装类、System、Math、String、Runtime、Class、Comparable可比较接口Java的工具类库(java.util)日期、数组、向量、栈、链表、散列表、树要使用包中的类必需要人工导入包(除java.lang包)15面向对象编程语言基础类库:Math类Math类用来完成常用的数学运算数学常量:E,PI数学运算Math.abs(-8.09);Math.exp(5
6、.7);Math.random();Math.sqrt(9.08);Math.pow(2,3);Math.round(99.6);均为static,使用时无需创建实例例:MathApp.java16面向对象编程语言基础类库:比较接口Comparable可比较接口publicinterfaceComparable{intcompareTo(To)//比较对象}是Comparable接口的参数,表示一个类。只有实现Comparable接口的类对象可比较大小Comparator比较接口(属于java.util包)publicinterfaceComparator{intc
7、ompare(Tcobj1,Tcobj2)//指定比较两个对象的规则}17面向对象编程语言基础类库:数据类型包装类基本数据类型vs.数据类型类booleanvsBoolean,charvsCharacter等数据类型包装类规定了数据类型的最大值、最小值构造函数:如newInteger(10);完成不同数据类型间转换,注意不同的数据类使用的方法会有不同Double.toString(0.08)、String.valueOf(0.08)Double.value
此文档下载收益归作者所有