接口、抽象与包 主讲人:xxx 重庆信息学院软件一系 Java精品课程 信底求容院
接口、抽象与包 主讲人:xxxx 重庆信息学院软件一系 Java精品课程
本章内容 °41接口 °42抽象类 43包 G carre
本章内容 ⚫ 4.1 接口 ⚫ 4.2 抽象类 ⚫ 4.3 包
教学目标 掌握接口的声明与实现,理解抽象类和抽象 方法,了解包的声明与引用、系统程序包。 G carre
教学目标 掌握接口的声明与实现,理解抽象类和抽象 方法,了解包的声明与引用、系统程序包
重点、难点 重点是接口声明与实现,抽象类与抽象方法。 °难点是理解抽象类和抽象方法。 G carre
重点、难点 ⚫ 重点是接口声明与实现,抽象类与抽象方法。 ⚫ 难点是理解抽象类和抽象方法
课前思考 什么是抽象类、接口?它们各自又有哪些 特性? 你知道ava语言在面向对象编程方面有何独 特的特点吗? G carre
课前思考 ⚫ 什么是抽象类、接口?它们各自又有哪些 特性? ⚫ 你知道java语言在面向对象编程方面有何独 特的特点吗?
4.1接口( interface) 接口 接口是抽象类的一种,只包含常量和方法的 定义,而没有变量和方法的实现,且其方法都是 抽象方法。它的用处体现在下面几个方面: ◇通过接口实现不相关类的相同行为而无需 考虑这些类之间的关系。 ◇通过接口指明多个类需要实现的方法 ◇通过接口了解对象的交互界面而无需了解 对象所对应的类。 G carre
4.1 接口(interface) 接口 接口是抽象类的一种,只包含常量和方法的 定义,而没有变量和方法的实现,且其方法都是 抽象方法。它的用处体现在下面几个方面: ◇ 通过接口实现不相关类的相同行为,而无需 考虑这些类之间的关系。 ◇ 通过接口指明多个类需要实现的方法。 ◇ 通过接口了解对象的交互界面,而无需了解 对象所对应的类
1)接口的定义 口的定以包接口声明和接口体。 Ipublic interface interfaceNamelextends listofSuperInterface..J extends子句与类声明的 extends子句基本相同,不 同的是一个接口可有多个父接口,用逗号隔开,而 然 接日体包括常量定义和方法定义 常量定义格式为: type NAME=vaue;该常量被实 现该接口的岁个类共享;具有 public, final, staticE 的属 性。在接口中只能声明常量,不可以声明变量 方法体定义格式为:(具有 public和 abstract属性, 不能声明为 protected) returnType methodName(lparamlistD; 注意:在接口的实现类中,实现的接口方法必须声明为 public,因为接口 定义的方法为 public(默认)。所以其实现必须声明为 public.否则编 译不会通 G carre
1)接口的定义 接口的定义包括接口声明和接口体。 接口声明的格式如下: [public] interface interfaceName[extends listOfSuperInterface] { … } extends 子句与类声明的extends子句基本相同,不 同的是一个接口可有多个父接口,用逗号隔开,而一 个类只能有一个父类。 接口体包括常量定义和方法定义 常量定义格式为:type NAME=value; 该常量被实 现该接口的多个类共享; 具有public ,final, static的属 性。在接口中只能声明常量,不可以声明变量。 方法体定义格式为:(具有public和abstract属性, 不能声明为protected) returnType methodName([paramlist]); 注意:在接口的实现类中,实现的接口方法必须声明为public ,因为接口 中定义的方法为public(默认)。所以其实现必须声明为public.否则编 译不会通过
补充 °由于接口中不能有初始化块和构建器,所以 在定义有名常量时必须包含初始化表达式 接口中的方法不能被声明为 static,因为类 方法不是抽象的。 G carre
补充 ⚫ 由于接口中不能有初始化块和构建器,所以 在定义有名常量时必须包含初始化表达式 ⚫ 接口中的方法不能被声明为static,因为类 方法不是抽象的
2)接口的实现 在类的声明中用 implements子句来表示一个类使用某个 接口,在类体中可以使用接口中定义的常量,而且必须实 现接口中定义的所有方法。一个类可以实现多个接口,在 implements子句中用逗号分开 3)接口类型的使用 接口作为一种引用类型来使用。任何实现该接口的类的 实例都可以存储在该接口类型的变量中,通过这些变量可 以访问类所实现的接口中的方法。 G car
2)接口的实现 在类的声明中用implements子句来表示一个类使用某个 接口,在类体中可以使用接口中定义的常量,而且必须实 现接口中定义的所有方法。一个类可以实现多个接口,在 implements子句中用逗号分开。 3) 接口类型的使用 接口作为一种引用类型来使用。任何实现该接口的类的 实例都可以存储在该接口类型的变量中,通过这些变量可 以访问类所实现的接口中的方法
例1、接口定义 public interface A 也可以用 extends去继承已有的接口 public interface A extends B/B是已定义了的接口 ●在类中使用接口需要使用关键字 implements public class a implements b∥这里A为类,B为接口 √Java类只允许单一继承,即一个类只能继承( extends)个父类;但一个类可 以实现多个接口,Java支持接口的多重继承。在Java类定义中,可以同时包括 extends子句和 implements子句,如果存在 extends-子句,则 implements子句应跟 随 extends子句后面。 G carre
例1、接口定义 ⚫ public interface A{ } ⚫ 也可以用extends去继承已有的接口 public interface A extends B //B是已定义了的接口 { } ⚫ 在类中使用接口需要使用关键字implements: public class A implements B//这里A为类,B为接口 { } √Java类只允许单一继承,即一个类只能继承(extends)一个父类;但一个类可 以实现多个接口,Java支持接口的多重继承。在Java类定义中,可以同时包括 extends子句和implements子句,如果存在extends子句,则implements子句应跟 随extends子句后面