[工作范文]Java接口、内部类和包

上传人:豆浆 文档编号:49766839 上传时间:2018-08-02 格式:PPT 页数:44 大小:1.27MB
返回 下载 相关 举报
[工作范文]Java接口、内部类和包_第1页
第1页 / 共44页
[工作范文]Java接口、内部类和包_第2页
第2页 / 共44页
[工作范文]Java接口、内部类和包_第3页
第3页 / 共44页
[工作范文]Java接口、内部类和包_第4页
第4页 / 共44页
[工作范文]Java接口、内部类和包_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《[工作范文]Java接口、内部类和包》由会员分享,可在线阅读,更多相关《[工作范文]Java接口、内部类和包(44页珍藏版)》请在金锄头文库上搜索。

1、JAVA 2 程序设计实用教程接口、内部类和包接口、内部类和包11/03/0811/03/08接口3接口是对abstract类的进一步扩展接口中的方法都是未实现的(类似于抽象方法), 目的是在实现与调用接口的类之间建立一种协 议接口中的变量都是常量定义一个类符合某个或一组接口,利用implements接口 (interface)An interface is a collection of method definitions (without implementations). An interface can also declare constants. public interface

2、 接口名 成员变量; 方法声明;class 类名 implements 接口1, 接口2 接口的作用 图4.1 图形接口与实现图形接口的类 5接口名修饰 public: 无任何访问限制 无修饰: 仅限于本包中 接口变量默认都是“public static final”public interface Months int JANUARY=1, FEBRUARY=2, MARCH=3, APRIL=4, MAY=5, JUNE=6, JULY=7, AUGUST=8, SEPTEMBER=9,OCTOBER=10, NOVEMBER=11,DECEMBER=12; 接口 (interface)6

3、接口 (interface)接口方法无修饰但在实现接口方法的类中,修饰符为publicinterface Figure double half=0.5,pi=3.14159;void parameter();void area(); class Triangle implements Figure double b, h;Triangle (double u, double v) b = u; h = v;public void parameter() System.out.println(b + “ “ + h);public void area() System.out.println(h

4、alf*h*b); class Circle implements Figure double x, y, r;Circle(double u, double v, double m) x=u; y=v; r=m; public void parameter() System.out.println(x+“ “+y+“ “+r); public void area() System.out.println(pi*r*r); Triangle t = new Triangle(2, 3); Circle c = new Circle(4, 5, 6); Figure f = t, c; for

5、(int i =0; i f.length; i+) fi.parameter(); fi.area(); 7接口 (interface)接口的继承 extends将多个接口合并为一个新的接口interface DC int add(int x, int y); interface DB extends DC int sub(int x, int y); interface DA extends DB int mul(int x, int y); interface DY int div(int x, int y); interface DX extends DY int mod(int x,

6、 int y); class DD implements DA, DX public int add(int x, int y) return x+y; public int sub(int x, int y) return x-y; public int mul(int x, int y) return x*y; public int div(int x, int y) return x/y; public int mod(int x, int y) return x%y; 8接口 (interface)利用接口实现多重继承(Multiple inheritance)class extend

7、s 父类 implements 接口interface CanFight void fight(); interface CanSwim void swim(); interface CanFly void fly(); class ActionCharacter public void fight() class Hero extends ActionCharacter implements CanFight, CanSwim, CanFly public void swim() public void fly() 【例4.2】 长方体类继承长方形类并 实现立体图形接口。设计立体图形接口So

8、lidGraphics2。设计长方体类Cuboid1,继承长方形类并实现立体图形 接口。长方体类Cuboid1中必须再次覆盖area()和print()方法。计算周长方法存在问题。图4.3 长方体类的多重继承 【例4.3】 球类实现多个接口。图4.4 球类的多重继承 12接口 (interface)接口合并时的命名冲突interface A1 void f(); interface A2 int f(int i); interface A3 int f(); class C public int f() return 4; class C1 implments A1, A2 public vo

9、id f() public int f(int i) return 5; class C2 extends C implments A2 public int f(int i) return 5; class C3 extends C implments A3 /public int f() return 5; class C4 extends C implements A1 13接口 (interface)接口继承中的命名冲突interface BaseColors int RED = 1, GREEN = 2, BLUE = 4; interface RainbowColors exten

10、ds BaseColors int YELLOW = 3, ORANGE = 5, VIOLET = 6; interface PrintColors extends BaseColors int YELLOW = 8, CYAN = 16, MAGENTA = 32; interface LotsOfColors extends RainbowColors, PrintColors int FUCHSIA = 17, CHARTREUSE = RED+90; class DD implements LotsOfColors public static void main(String arg

11、s) System.out.println(YELLOW); class DD implements LotsOfColors public static void main(String args) System.out.println(PrintColors.YELLOW); reference to YELLOW is ambiguous, both variable YELLOW in RainbowColors and variable YELLOW in PrintColors match接口与抽象类的区别相同点: 两者都包含抽象方法。 两者都不能被实例化。 两者都是引用数据类型。

12、 不同点: 抽象类约定多个子类之间共同使用的方法;接口约定多个互不相关类之 间共同使用的方法。 抽象类与子类之间采用单重继承机制;一个类实现多个接口则实现了多 重继承的功能。 抽象类及其类中成员具有与普通类一样的访问权限;接口的访问权限有 public和默认两种,接口中成员的访问权限均是public。 抽象类中可以包含非抽象方法,也可以声明构造方法;接口中的方法全 部是抽象方法,不能声明构造方法。 抽象类中可以声明成员变量,子类可以对该成员变量赋值;接口中只能 声明常量。 Java用接口实现多重继承比C+多 重继承的优越之处图4.6 Java单重继承时执行父类或祖先类中的方法 内部类164.2

13、 内部类声明内部类 public class Line /直线类,外部类 protected Point p1,p2; /直线的起点和终点protected class Point /点类,内部类protected int x,y; /内部类的成员变量protected Point(int x,int y) /内部类的构造方法this.x = x;this.y = y; 2. 内部类特性内部类的类特性 内部类不能与外部类同名。 内部类具有封装性。 内部类具有继承性。 内部类具有抽象性。内部类的成员特性 使用点运算符“.”引用内部类。例如: Line.Point 内部类具有4种类中成员的访问权限

14、。 内部类具有静态特性。【例4.4】 设计点类作为直线类的内 部类。设计一个接口Direction,其中约定表示左、右、上、下 4个方向的4个常量。设计点类作为直线类的内部类,点类实现方向接口。声明和使用接口中常量声明和调用内部类的成员方法内部类Point编译生成字节码的文件名为 Line$Point.class。图4.7 以(100,100)为起点的4个方 向的4条直线 Java类库 语言基础类 向量类 工具类21Java的类库是系统提供的已实现的标准类的集合,是 Java编程的API(Application Program Interface) ,它可以帮助开发者方便、快捷地开发Java程

15、序。这些系统定义好的类根据实现的功能不同,可以划分 成不同的集合,每个集合是一个包,合称为类库。 Java的类库大部分是由它的发明者SUN公司 提 供的,这些类库称为基础类库(JFC)。API 应用程序编程接口 面向过程语言 函数库(子程序包) 面向对象语言 类库22面向对象编程类库的结构 java.lang 语言基础类库(System、Math、 Thread、基本数据类型类) java.util Java的工具类库(向量、栈、日期) java.io Java的标准输入输出类库 java.applet 用于实现Java Applet小程序的类库 java.awt 用于构建图形用户界面的类库 java.awt.event 界面用户交互控制和事件响应库 Java的用于实现网络功能的类库使用JDK

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号