ch10 - 抽象类和接口 Java语言程序设计基础篇课件
合集下载
Java开发基础 PPT课件
–32,768 to 32,767
–9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
1 byte
–128 to 127
Type float double
Storage Requirement 4 bytes
8 bytes
Range
approximately ±3.40282347E+38F (6–7 significant decimal digits)
继承的使用
继承增加了重用代码,减少子类编码 把数据、行为和/或接口的共性尽可能地放到继承层次体系的高端 继承树的层次不能太深
复杂的继承树提高维护的复杂性 继承树的上层尽量为抽象层
可以提高系统间的松耦合 继承打破了对象的封装
子类可以访问父类的实现,父类的改动将会对子类产生影响 继承的动态绑定可以使程序灵活,更易于扩展 尽量减少定义域对子类可见(final 除外),减少数据被误写入危险,可提
释放之前对引用的局部变量进行备份。
大纲
接口与抽象类的选择 克隆及其注意事项 接口与回调 内部类、局部类、匿名类
☞ JDK的Proxy与CGLib的动态代理区别
JDK的Proxy与CGLib的动态代理区别
JDK的Proxy
只能实现基于接口的代理 一个代理类仅有一个调用处理器(InvoctionHandler)的实例变量 代理类仅覆盖Object类的toString/equals/hashCode方法,其它的方
java编程语言基础教学PPT课件
public class Test { int x; Test(int x) { this.x=x; }
如果一个方法中有与成
员 该 的指x传赋方 访变明递法 问量值此的同中 是为对局名对 局通这 部的象部过个 变局的变构变量部成量量,变造员x量名而方的变,法值量
不再是成员变量
源自文库
public void showValue(){
• 当重载方法被调用时,编译器根据参数的类型和 数量来确定实际调用哪个重载方法的版本
注意方法重载(overload)与方法重写(override)的区别, 后面将介绍方法重写的概念
22
方法重载示例
class Calculation {
public void add( int a, int b) {
❖native
本地方法,该修饰符通常用来说明用其他语言 编写的特殊方法,这种方法只在类内给出声明, 方法定义在类外
使用本地方法可以充分利用已有程序,避免重 复性劳动
❖synchronized
使用该修饰符的方法主要用于多线程程序的协 调和同步
17
方法的参数
❖定义方法时可以有参数,也可以没有参数, 多个参数用逗号分隔,每个参数由参数类 型和参数名组成,可以是基本类型,也可 以是复合类型
❖匿名对象只使用一次就成为垃圾 ❖一般在某个对象只使用一次的时候采用匿
java基础ppt课件
丰富的API
Java语言提供了大量的API, 涵盖了IO、网络编程、数据库 操作、图形界面开发等方面。
Java语言的应用领域
Web开发
Java语言在Web开发领域有着广泛的应用 ,如Servlet、JSP、Struts等框架。
游戏开发
Java语言也可以用于游戏开发,如 Minecraft等游戏就是使用Java语言开发 的。
I/O操作)无法继续执行时, 进入阻塞状态。
阻塞到就绪
05 当阻塞状态结束(如I/O操作
完成)后,线程重新进入就绪 状态。
运行到死亡
06 当线程执行完毕后,进入死亡
状态。
线程的同步与互斥
01
02
03
04
05
同步的概念
互斥的概念
synchronize…
Lock接口及其实 Semaphore信号
现类
量
在抛出异常时,应该尽量保持 异常的原子性,即一个方法只 抛出一种类型的异常。这有助 于简化代码和提高可读性。
在抛出异常时,应该提供有意 义的错误信息,以帮助开发人 员快速定位问题并解决问题。
05 Java常用类库与API
字符串处理类
String类
01
用于创建和操作字符串对象,提供了一系列方法如substring(),
List接口
继承自Collection接口,表示一种有序的集 合,可以包含重复元素。
《Java开发基础》课件
3
条件语句
学习使用条件语句进行程序流程控制,
循环语句
4
包括if语句和switch语句。
掌握Java中的循环语句,如for循环、
while循环和do-while循环。
5
数组
了解Java中的数组概念和用法,包括单
方法
6
维数组和多维数组。
学习如何定义和调用方法,在程序中复 用代码。
第三部分:面向对象编程基础
《Java开发基础》PPT 课件
本课程将带你深入了解Java开发基础知识,从语言概述到高级编程技巧一网 打尽,助你成为Java大神。
第一部分:Java语言概述
1 Java语言的特点
Java是一门面向对象的编程语言,具有跨平 台性和可移植性。
2 Java程序的结构
了解Java程序的基本结构,包括包、类、方 法和语句的组织方式。
Math类
了解Math类中常用的数学方 法,如绝对值计算、幂运算 和三角函数。
Scanner类
学习使用Scanner类从控制 台读取用户输入,实现交互 式程序。
第五部分:异常处理
来自百度文库异常的概念
了解异常的定义和分 类,学习如何处理和 避免异常。
try-catch语句
掌握try-catch语句的 用法,实现异常的捕 捉和处理。
类和对象
理解面向对象编程的基本概念,包括类的定义和对 象的创建。
《Java高清零基础入门课程讲解PPT课件》
方法和语句
了解Java方法和语句的基本用 法,学习编写清晰、简洁的代 码。
函数与参数
学习Java函数的基本原理和使 用方法,并了解如何使用参数 来实现更高效的代码。
数据类型和变量
1
基础类型
学习Java基本数据类型,包括整型、浮点型、布尔型等。
2
变量和运算符
介绍变量和常量的基本概念,以及常见的算术和逻辑运算符。
2 类的封装性和继承性
了解Java的类封装性和类继 承性,学习如何正确地使用 这些概念。
3 多态
学习Java中多态的实现和应用,了解多态的特点和优势。
文件操作和GUI编程
文件读和写
了解Java文件并了解如何读写文件,并且学习 如何处理文件输入输出异常。
GUI编程基础概念
介绍GUI编程的基本原理和组件,学习如何使用 Java实现基本GUI界面。
Java高清零基础入门课程 讲解PPT课件
在这个课程中,我们将探索Java作为一种面向对象的编程语言的基本概念与 优势,以及开发环境的搭建。我们将从最简单的程序开始,引导您逐步学习 Java编程,并在这个过程中展示Java的强大功能和应用。
Java程序的基础结构
类与对象
介绍Java的类和对象的基本概 念,为后续的Java编程打下基 础。
了解Java的do-while循环语句以及如何正确 地使用它。
java类 PPT
23
1.3 Java的开发环境
C:\
java lib bin classes.zip
用户类文件 所在目录 myclasses 当前目录
javac
java
appletviewer
24
1.3 Java的开发环境 • • • • • • • vj1.1++的使用 1.进入vj,创建一个project 2.加入java文件 3. 编辑java文件 4. 编译java文件 5. Build一个project文件 6. 运行java程序 --如果是小应用程序,则直接在VJ环境下运行 --如果是应用程序,则在dos下运行
20
1.3 Java的开发环境 • Java开发环境 JDK • JDK中有Java编译器和bytecode解释器 Applwtviewer是小应用程序的bytecode解释 器 • JDK的安装 • 直接执行JDK.exe
21
1.3 Java的开发环境
产生如下目录结构
java\bin的目录下包含义下主要文件: javac: Java编译器, 用来将java程序编译成 Bytecode java: Java编译器,执行已经转换成Bytecode的 java应用程序. jdb: Java调试器, 用来调试java程序 javap: 反编译,将类文件还原回方法和变量. javadoc:文档生成器,创建HTML文件 appletviwer : Java解释器, 用来解释已经转换成 Bytecode的java小应用程序.
《java基础教程》课件
动态数组
ArrayList类提供了多种常用操作,如添加元素、删除元素、获取元素等。
常用操作
ArrayList类提供了多种遍历数组的方法,如for循环、迭代器等。
遍历
HashMap类是一个键值对存储的集合,可以通过键快速查找对应的值。
键值对存储
HashMap类提供了多种常用操作,如put()、get()、remove()等。
常用操作
HashMap类提供了多种遍历键值对的方法,如keySet()、entrySet()等。
遍历
05
Java异常处理
异常的分类
Java中的异常分为两大类,即检查型异常(Checked Exceptions)和非检查型异常(Unchecked Exceptions)。检查型异常在编译时被检查,而非检查型异常在运行时才被抛出。
检查型异常
这类异常在编译时被检查,必须显式地处理它们,否则程序将无法通过编译。常见的检查型异常包括IOException、ClassNotFoundException等。
非检查型异常
这类异常在运行时被抛出,不需要显式地处理它们。常见的非检查型异常包括NullPointerException、ArrayIndexOutOfBoundsException等。
01
02
03
1
2
3
封装是将对象的属性和行为封装在一个类中,隐藏内部实现细节,只通过公共接口与外界交互。
ArrayList类提供了多种常用操作,如添加元素、删除元素、获取元素等。
常用操作
ArrayList类提供了多种遍历数组的方法,如for循环、迭代器等。
遍历
HashMap类是一个键值对存储的集合,可以通过键快速查找对应的值。
键值对存储
HashMap类提供了多种常用操作,如put()、get()、remove()等。
常用操作
HashMap类提供了多种遍历键值对的方法,如keySet()、entrySet()等。
遍历
05
Java异常处理
异常的分类
Java中的异常分为两大类,即检查型异常(Checked Exceptions)和非检查型异常(Unchecked Exceptions)。检查型异常在编译时被检查,而非检查型异常在运行时才被抛出。
检查型异常
这类异常在编译时被检查,必须显式地处理它们,否则程序将无法通过编译。常见的检查型异常包括IOException、ClassNotFoundException等。
非检查型异常
这类异常在运行时被抛出,不需要显式地处理它们。常见的非检查型异常包括NullPointerException、ArrayIndexOutOfBoundsException等。
01
02
03
1
2
3
封装是将对象的属性和行为封装在一个类中,隐藏内部实现细节,只通过公共接口与外界交互。
java基础课件ppt
企业级应用
Java语言适用于构建企业级应用,如电子商务、金融系统 等,其强大的框架如Spring Boot、Hibernate等技术使 得开发更加高效。
Android开发
Android操作系统底层基于Linux,上层应用则使用Java 语言开发。
Java语言的开发环境搭建
安装JDK
首先需要下载并安装Java Development Kit (JDK),它是Java开发 的基础工具包。
字符型:char
浮点型:float、double 布尔型:boolean
Java运算符
关系运算符
==、!=、>、<、 >=、<=
位运算符
&、|、^、~、<< 、>>
算术运算符
+、-、*、/、%、 、--
逻辑运算符
&&、||、!
赋值运算符
=、+=、-=、*=、 /=、%=、&=、|= 、^=、>>=、 <<=
ArrayList类
动态数组
ArrayList类是一个动态数组,可以根 据需要自动增长容量。
常用操作
ArrayList类提供了添加、删除、获取 、设置元素等常用操作的方法。
排序与搜索
ArrayList类还提供了对元素进行排序 和搜索的方法,如sort()和 binarySearch()。
Java 接口详细讲解ppt课件
接口通过使用关键字interface来声明,格式: interface 接口的名字 2.接口体
接口体中包含常量定义和方法定义两部分。
interface Printable { final int MAX=100; void add(); float sum(float x ,float y);
}
5
接口的使用
继承 接口
接口存在是为了什么?
3
接口
Java不支持多继承性,即一个类只能有一个父类。单继 承性使得Java简Hale Waihona Puke Baidu,易于管理和维护。
为了克服Java单继承的缺点,Java使用了接口。
4
接口的声明
使用关键字interface来定义一个接口。接口的定义和类的定 义很相似,分为接口的声明和接口体。 1.接口声明
接口的使用 接口由类去实现以便使用接口中的方法。 一个类可以实现多个接口,类通过使用关键字implements
声明自己实现一个或多个接口。如果实现多个接口,用逗号隔开 接口名。 如A类实现Printable和Addable接口:
class A implements Printable,Addable 再比如Animal的子类Dog类实现Eatable和Sleepable接口
: class Dog extends Animal implements Eatable,Sleepable 如果一个类实现了某个接口,那么这个类必须重写该接口
接口体中包含常量定义和方法定义两部分。
interface Printable { final int MAX=100; void add(); float sum(float x ,float y);
}
5
接口的使用
继承 接口
接口存在是为了什么?
3
接口
Java不支持多继承性,即一个类只能有一个父类。单继 承性使得Java简Hale Waihona Puke Baidu,易于管理和维护。
为了克服Java单继承的缺点,Java使用了接口。
4
接口的声明
使用关键字interface来定义一个接口。接口的定义和类的定 义很相似,分为接口的声明和接口体。 1.接口声明
接口的使用 接口由类去实现以便使用接口中的方法。 一个类可以实现多个接口,类通过使用关键字implements
声明自己实现一个或多个接口。如果实现多个接口,用逗号隔开 接口名。 如A类实现Printable和Addable接口:
class A implements Printable,Addable 再比如Animal的子类Dog类实现Eatable和Sleepable接口
: class Dog extends Animal implements Eatable,Sleepable 如果一个类实现了某个接口,那么这个类必须重写该接口
基础Java编程课件PPT
接口支持多重继承,一个类可以 同时实现多个接口。
异常处理
1 异常类型
异常是程序在运行过程中 可能出现的错误情况, Java提供了一系列异常类 型来表示不同的错误。
2 异常处理机制
通过try-catch语句块来捕 获和处理异常,保证程序 能够继续执行。
3 自定义异常
除了Java提供的异常类型, 还可以定义自己的异常类, 以便处理特定的错误。
运算符
Java提供了一系列运算符用于执行算术、赋值、 逻辑和比较等操作。
变量和常量
在Java中,使用变量存储数据,并使用常量表 示不可更改的值。
控制流语句
使用条件语句和循环语句来控制程序的流程和执 行顺序。
数据类型和变量
1
基本数据类型
Java中的基本数据类型包括整型、浮点
引用数据类型
2
型、字符型和布尔型。
除了基本数据类型,Java还提供了引用
数据类型,如字符串、数组和自定义类
3
变量声明和初始化
型。
在Java中,使用变量来存储数据,必须
先声明变量的类型,然后进行初始化操
作。
数组
1 数组的定义
数组是一种用于存储多个相同类型数 据的数据结构。在Java中,数组的长 度固定且不可更改。
2 数组的操作
使用索引访问数组元素,可以对数组 进行遍历、排序、查找等操作。
Java基础课件-面向对象程序设计PPT
3 Hello, World!
编写第一个Java程序
面向对象程序设计的概念
面向对象程序设计的核心概念是将对象作为程序的基本构建块。我们将学习封装、继承和多态等特性, 以提高代码的可扩展性和重用性。
Java类与对象
类定义
使用class关键字定义类,包 含属性和方法
对象实例化
使用new关键字创建对象实例
泛型编程
泛型编程通过参数化类型实现代码的重用性和类型安全性。我们将学习如何定义和使用泛型类、泛型接 口和泛型方法。
Java IO流
1 输入输出流
字节流和字符流的概念和不同之处
2 文件操作
读取和写入文件的常用操作
3 流过滤器
在流处理中应用过滤器提供额外的处理功能
网络编程和So cke t通信
网络编程是Java应用程序与其他设备通信的重要手段。我们将学习如何使用Socket进行网络通信,包 括客户端和服务器端的实现。
实现接口
通过关键字implements实现 接口定义的方法
异常处理机制
1
异常类型
Java中的异常类型和异常分类
2
异常处理
使用try-catch-finally语句块处理异常
3
自定义异常
根据需求创建自己的异常类
Java注解的使用
1 注解类型
2 注解用途
《Java基础知识课件(含PPT)》
编写自己的异常
学习如何创建自定义异常及 其在开发中的用法。
线程基础
多线程概述
了解并发编程的基础概念,如何 使用线程和进程等。
线程同步
探索Java线程同步机制以及如何 使用它们。
Байду номын сангаас
线程生命周期
了解线程的不同状态,如何创建 和结束Java线程。
集合框架
数组 队列 映射
学习Java中的数组类,以及如何使用它们来存储、 检索和处理数据。
1 String类
2 日期类
学习标准的字符串类以及 如何使用各种字符串方法。
了解Java时间和日期类库 中的常用类,比如 Calendar和Date。
3 集合类
学习Java中的集合类,包 括ArrayList,LinkedList等。
IO流操作
1
输出流
2
深入探讨Java中的输出流,向文件、屏幕、
网络或其他目标写入数据。
深入探讨Java队列,包括将元素添加到队列中和 从队列中删除元素。
了解Java中的Hashmap和其他映射实现,以及如 何使用它们来存储和检索键值对。
Java基础知识课件
欢迎来到Java基础知识课件!本课程将帮助您掌握Java的核心概念和基础语法, 以及有用的面向对象编程和线程知识。
Java基础语法
数据类型
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
member_declaration* }
除非类被声明为abstract,所有父接口中声明的成员方法必须 被实现,或者通过在类中声明或者通过从父类继承已有的方法 声明。
例1
Flyer
+ takeOff () + land () + fly ()
AirPlane
+ takeOff () + land () + fly ()
}
例2
Flyer
+ takeOff () + land () + fly ()
AirPlane
+ takeOff () + land () + fly ()
Bird
+ takeOff () + land () + fly () + buildNest () + layEggs () + eat ()
任何实现该接口的类,必须实现该接口继承的其他接口。
接口和抽象类的比较
多重继来自百度文库 方法
数据字段
现有类 含义
接口
一个类可以实现多个接口
接口不能提供任何代码
只包含public static final常量,常量必须在声明 时初始化。 任何现有的类都可以添加一个接口的实现
接口通常用于描述一个类的外围能力,而不是核 心特征,例如Automobile类可以实现Recyclable 接口,而Recyclables可以应用于其他不相关的对 象。类与接口之间的是-able或者can do的关系。
+ eat ()
: void
接口继承
一个接口可以继承多个接口。 语法
[modifier] interface interfaceName [extends interfaceNameList] { declaration*
}
如果接口声明中提供了extends子句那么该接口就继承了父 接口的成员类型、方法和常量。这些接口称为声明接口的 直接父接口。
+ takeOff () + land () + fly ()
Bird
+ takeOff () + land () + fly () + buildNest () + layEggs () + eat ()
Superman
+ takeOff () + land () + fly () + leapBuilding () + stopBullet () + eat ()
: void
SeaPlane
+ dock () : void + cruise () : void
Helicopter
Superman
+ takeOff ()
: void
+ land ()
: void
+ fly ()
: void
+ leapBuilding () : void
+ stopBullet () : void
Superman
+ takeOff () + land () + fly () + leapBuilding () + stopBullet () + eat ()
例3
Vehicle
Flyer
+ takeOff () + land () + fly ()
Animal + eat ()
Human
AirPlane
可以在能够使用任何其他数据类型的地方使用接口。 接口类型属于引用类型,接口类型的变量可以存储:
空引用(null) 任何实现该接口的类的实例的引用
类实现接口的语法
[modifier] class className [extends superclass] [implements interfaceNameList ] {
AirPlane
+ takeOff () : void
+ land () : void
+ fly ()
: void
Bird
+ takeOff () : void
+ land ()
: void
+ fly ()
: void
+ buildNest () : void
+ layEggs () : void
+ eat ()
例4
Sailer
+ dock () : void + cruise () : void
Vehicle
Flyer
+ takeOff () : void
+ land () : void
+ fly ()
: void
Animal + eat () : void
Human
Riv erBarge
+ dock () : void + cruise () : void
一个类C如果满足下面的任一条件,则该类包含抽象 方法:
类C显式地包含一个抽象方法的声明; 类C的父类中声明的抽象方法未在类C和它的父类中实现; 类C的父接口中声明或继承一个方法,并且类C中未声明或继承
一个方法来实现它。
接口
接口是常量和抽象方法的集合。接口是能力、规范、 协议的反映。
语法
public interface Flyer { void takeOff(); void land(); void fly();
}
public class Airplane implements Flyer { public void takeOff() { // 加速直到离地升空 // 收起起落架 } public void land() { // 放下起落架 // 减速并降低副翼直到降落 // 刹车 } public void fly() { // 保持引擎运转 }
Java程序设计
YANGLIN@BNUITC
第10章 抽象类和接口
学习目标
设计和使用抽象类 掌握接口的声明和实现 了解抽象类和接口的异同 掌握基本数据类型的包装类型 了解JDK1.5中基本数据类型与包装类型的自动转换
抽象类和抽象方法
Java中可以定义不含方法体的方法,方法的方法体由 该类的子类根据自己的情况去实现,这样的方法称为 抽象方法(abstract method),包含抽象方法的类必 须是抽象类(abstract class)。
[modifier] interface interfaceName { constant_declaration* abstract_method_declaration*
}
接口中的数据字段隐含为public static final 接口体中的方法隐式地声明为public abstract
使用接口
除非类被声明为abstract,所有父接口中声明的成员方法必须 被实现,或者通过在类中声明或者通过从父类继承已有的方法 声明。
例1
Flyer
+ takeOff () + land () + fly ()
AirPlane
+ takeOff () + land () + fly ()
}
例2
Flyer
+ takeOff () + land () + fly ()
AirPlane
+ takeOff () + land () + fly ()
Bird
+ takeOff () + land () + fly () + buildNest () + layEggs () + eat ()
任何实现该接口的类,必须实现该接口继承的其他接口。
接口和抽象类的比较
多重继来自百度文库 方法
数据字段
现有类 含义
接口
一个类可以实现多个接口
接口不能提供任何代码
只包含public static final常量,常量必须在声明 时初始化。 任何现有的类都可以添加一个接口的实现
接口通常用于描述一个类的外围能力,而不是核 心特征,例如Automobile类可以实现Recyclable 接口,而Recyclables可以应用于其他不相关的对 象。类与接口之间的是-able或者can do的关系。
+ eat ()
: void
接口继承
一个接口可以继承多个接口。 语法
[modifier] interface interfaceName [extends interfaceNameList] { declaration*
}
如果接口声明中提供了extends子句那么该接口就继承了父 接口的成员类型、方法和常量。这些接口称为声明接口的 直接父接口。
+ takeOff () + land () + fly ()
Bird
+ takeOff () + land () + fly () + buildNest () + layEggs () + eat ()
Superman
+ takeOff () + land () + fly () + leapBuilding () + stopBullet () + eat ()
: void
SeaPlane
+ dock () : void + cruise () : void
Helicopter
Superman
+ takeOff ()
: void
+ land ()
: void
+ fly ()
: void
+ leapBuilding () : void
+ stopBullet () : void
Superman
+ takeOff () + land () + fly () + leapBuilding () + stopBullet () + eat ()
例3
Vehicle
Flyer
+ takeOff () + land () + fly ()
Animal + eat ()
Human
AirPlane
可以在能够使用任何其他数据类型的地方使用接口。 接口类型属于引用类型,接口类型的变量可以存储:
空引用(null) 任何实现该接口的类的实例的引用
类实现接口的语法
[modifier] class className [extends superclass] [implements interfaceNameList ] {
AirPlane
+ takeOff () : void
+ land () : void
+ fly ()
: void
Bird
+ takeOff () : void
+ land ()
: void
+ fly ()
: void
+ buildNest () : void
+ layEggs () : void
+ eat ()
例4
Sailer
+ dock () : void + cruise () : void
Vehicle
Flyer
+ takeOff () : void
+ land () : void
+ fly ()
: void
Animal + eat () : void
Human
Riv erBarge
+ dock () : void + cruise () : void
一个类C如果满足下面的任一条件,则该类包含抽象 方法:
类C显式地包含一个抽象方法的声明; 类C的父类中声明的抽象方法未在类C和它的父类中实现; 类C的父接口中声明或继承一个方法,并且类C中未声明或继承
一个方法来实现它。
接口
接口是常量和抽象方法的集合。接口是能力、规范、 协议的反映。
语法
public interface Flyer { void takeOff(); void land(); void fly();
}
public class Airplane implements Flyer { public void takeOff() { // 加速直到离地升空 // 收起起落架 } public void land() { // 放下起落架 // 减速并降低副翼直到降落 // 刹车 } public void fly() { // 保持引擎运转 }
Java程序设计
YANGLIN@BNUITC
第10章 抽象类和接口
学习目标
设计和使用抽象类 掌握接口的声明和实现 了解抽象类和接口的异同 掌握基本数据类型的包装类型 了解JDK1.5中基本数据类型与包装类型的自动转换
抽象类和抽象方法
Java中可以定义不含方法体的方法,方法的方法体由 该类的子类根据自己的情况去实现,这样的方法称为 抽象方法(abstract method),包含抽象方法的类必 须是抽象类(abstract class)。
[modifier] interface interfaceName { constant_declaration* abstract_method_declaration*
}
接口中的数据字段隐含为public static final 接口体中的方法隐式地声明为public abstract
使用接口