当前位置:
文档之家› java接口的基本概念.ppt
java接口的基本概念.ppt
接口图形表示
接口的图形可以按照类图的形式表示,也可 以使用一个“○”表示
A + AUTHOR : String + print () : void + getInfo () : String = "李兴华"
A
实现接口
与抽象类一样,接口要使用也必须通过子类, 子类通过implements关键字实现接口。 实现格式:
接口的继承
一个接口不能继承一个抽象类,但是却可以 通过extends关键字同时继承多个接口,实 现接口的多继承。 格式:
第6章:面向对象(高级) —— 接口的基本概念
软件学院教学研发部
本章目标
掌握接口的定义格式及使用 掌握接口与抽象类的关系
接口
接口是java中最重要的概念,接口可以理解 为一种特殊的类,里面全部是由全局常量和 公共的抽象方法所组成。
接口的定义格式
interface 接口名称{ 全局常量 ; 抽象方法 ; }
接口的实现
以上的程序中,一个子类同时实现了两个接 口,这样在子类中就必须同时覆写完两个接 口中的全部抽象方法
A + AUTHOR : String + print () : void + getInfo () : String = "李兴华" B
+ say () : void
X
+ <<Implement>> say () : void + <<Implement>> getInfo () : String + <<Implement>> print () : void
接口的定义
interface A{ public static final String AUTHOR = “张三" ; // 定义全局常量 完整格式: public abstract void print() ; // 定义抽象方法 public abstract String getInfo() ; // 定义抽象方法 } interface A{ String AUTHOR = “张三" ; // 等价于:public static final String AUTHOR = "李兴华" ; 简化格式: void print() ; // 等价于:public abstract void print() ; String getInfo() ; // 等价于:public abstract String getInfo() ; }
继承抽象类实现接口
一个子类可以同时继承抽象类和实现接口。 格式如下:
class 子类 extends 抽象类 implements 接 口A,接口B,...{}
子类同时继承抽象类和实现接口
interface A{ // 定义接口A public String AUTHOR = "李兴华" ; // 定义全局常量 public void print() ; // 定义抽象方法 public String getInfo() ; // 定义抽象方法 } abstract class B{ // 定义抽象类 B public abstract void say() ; } class X extends B implements A{ // 子类同时实现接口 public void say() { // 覆写抽象类B中的抽象方法 System.out.println("Hello World!!!"); } public String getInfo() { // 覆写接口A中的抽象方法 return "HELLO"; } public void print() { // 覆写接口A中的抽象方法 System.out.println("作者:" + AUTHOR); } }
class 子类 implements 接口A,接口B,...{ }
实现接口
interface A{ // 定义接口A public String AUTHOR = "李华" ; // 定义全局常量 public void print() ; // 定义抽象方法 public String getInfo() ; // 定义抽象方法 } interface B{ // 定义接口B public void say() ; // 定义抽象方法 } class X implements A,B{ // 子类同时实现两个接口 public void say() { // 覆写B接口中的抽象方法 System.out.println("Hello World!!!"); } public String getInfo() { // 覆写A接口中的抽象方法 return "HELLO"; } public void print() { // 覆写A接口中的抽象方法 System.out.println("作者:" + AUTHOR); }
接口和抽象类的使用限制
在java中允许一个抽象类实现多个接口的
interface A{ // 定义接口A public String AUTHOR = "李兴华" ; // 定义全局常量 public void print() ; // 定义抽象方法 public String getInfo() ; // 定义抽象方法 } abstract class B implements A{ // 定义抽象类,实现接口 public abstract void say() ; // 此时抽象类中存在三个抽象方法 } class X extends B{ // 子类继承抽象类 public void say() { // 覆写抽象类B中的抽象方法 System.out.println("Hello World!!!"); } public String getInfo() {// 覆写抽象类B中的抽象方法 return "HELLO"; } public void print() { // 覆写抽象类B中的抽象方法 System.out.println("作者:" + AUTHOR); } }