3.6java的接口 Java面向对象程序设计
Java面向对象程序设计 3.6 Java的接口
目录 CONTENTS 3.6.1接口的定义 3.6.2接口的实现 3.6.3深入理解接口 Java面向对象程序设计
Java面向对象程序设计 目录 CONTENTS 3.6.1 接口的定义 3.6.2 接口的实现 3.6.3 深入理解接口
3.6.1接口的定义 Java面向对象程序设计
Java面向对象程序设计 3.6.1 接口的定义
3.6.1接口的定义 >接口( interface):是由抽象方法和常量组成的特 殊类,是java中用来实现类似多重继承功能的一种结构。 >接口的访问控制符一般用public,表明可以被所有的类 和接口使用;如果没有此修饰符,则只能被同一个包中的 其他类和接口利用。 >接口也具有继承性,用 extends来声明,一个接口可以 接口的概念 有一个以上的父接口,之间用逗号分隔。 >接口仅定义对外的接口和规范,并没有实现其功能, 功能要靠实现了该接口的类重写抽象方法来完成。 Java面向对象程序设计
Java面向对象程序设计 ➢接口(interface):是由抽象方法和常量组成的特 殊类,是java中用来实现类似多重继承功能的一种结构。 ➢ 接口的访问控制符一般用public,表明可以被所有的类 和接口使用;如果没有此修饰符,则只能被同一个包中的 其他类和接口利用。 ➢ 接口也具有继承性,用extends来声明,一个接口可以 有一个以上的父接口,之间用逗号分隔。 ➢ 接口仅定义对外的接口和规范,并没有实现其功能, 功能要靠实现了该接口的类重写抽象方法来完成。 ➢ 3.6.1 接口的定义 接口的概念
3.6.1接口的定义 接口用关键字 interface来声明。 语法: public] interface接口名[extends父接口名列表] 接口的声明 ∥常量域说明: [public][static][final]域类型域名=常量值; //抽象方法声明: public][abstract]返回值方法名(参数列表); Java面向对象程序设计
Java面向对象程序设计 接口用关键字interface来声明。 语法: [public] interface 接口名 [extends 父接口名列表 ] { //常量域说明: [public] [static] [final] 域类型 域名=常量值 ; //抽象方法声明 : [public] [abstract] 返回值 方法名(参数列表); } 接口的声明 3.6.1 接口的定义
3.6.1接口的定义 说明: 接口中的所有属性都必须是 public static final,接口中的所有方法都必须 是默认的 public abstract,这都是系统默认的,无论是否有修饰符显式地 限定它们,效果都一样。 例: public interface java.io. Datalnput{ public abstract boolean readBoolean();//读入布尔型数据 public abstract byte readByte(); /读入字节型数据 public abstract char readChar(); //读入字符型数据 public abstract double readDouble();//读入双精度型数据 public abstract String readLine();/读入一行 Java面向对象程序设计
Java面向对象程序设计 3.6.1 接口的定义 说明: 接口中的所有属性都必须是 public static final,接口中的所有方法都必须 是默认的public abstract,这都是系统默认的,无论是否有修饰符显式地 限定它们,效果都一样。 例:
3.6.1接口的定义 接口定义示例: 如何用不同颜色绘制不同图形 package shapes; 定义该 shapes类属于包 import java.awt.*; 加载awt包 interface DrawShapes 定义名为DrawShapes的接口 abstract void draw(Graphics g) /抽象方法1:绘制图形 abstract void fillcolor(Graphics Color);/抽象方法2:为图形染色 Java面向对象程序设计
Java面向对象程序设计 3.6.1 接口的定义 接口定义示例: 如何用不同颜色绘制不同图形
3.6.2接口的实现 Java面向对象程序设计
Java面向对象程序设计 3.6.2 接口的实现
3.6.2接口的实现 在类的声明部分用 Java中,一个类可以同时 implements声明该类 实现若干个接口,多个接 将要实现哪些接口 口名之间用逗号分隔 接实 口现 类在重写接口的抽象方法时,必须显式地使用 public修饰符,否则将 被系统警告为缩小了接口中定义的方法的访问控制范围,且必须使用 完全相同的方法头(即相同的返回值类型、方法名、参数) Java面向对象程序设计
Java面向对象程序设计 3.6.2 接口的实现 实 现 接 口 类在重写接口的抽象方法时,必须显式地使用public修饰符,否则将 被系统警告为 缩小了接口中定义的方法的访问控制范围,且必须使用 完全相同的方法头(即相同的返回值类型、方法名、参数) Java中,一个类可以同时 实现若干个接口,多个接 口名之间用逗号分隔 在类的声明部分用 implements 声明该类 将要实现哪些接口
3.6.2接口的实现 如果实现某接口的类不是 abstract 的抽象类,则在类的定义部分必须 如果实现某接口的类是 实现指定接口的所有抽象方法。 abstract的抽象类,则它可 以不实现该接口所有的方法。 接实 但对于这个抽象类任何一个 口现 非抽象的子类而言,不允许 存在未被实现的接口方法。 Java面向对象程序设计
Java面向对象程序设计 3.6.2 接口的实现 实 现 接 口 如果实现某接口的类不是abstract 的抽象类,则在类的定义部分必须 实现指定接口的所有抽象方法。 如果实现某接口的类是 abstract的抽象类,则它可 以不实现该接口所有的方法。 但对于这个抽象类任何一个 非抽象的子类而言,不允许 存在未被实现的接口方法