130 likes | 247 Views
第 05 讲: Java 语法 4. 江阴学院 - 计算机科学系 - 陈东东. 本讲提纲. 1.1 抽象类 1.2 接口. 1.1 什么是抽象方法?. 1 、使用 abstract 修饰符修饰的方法为抽象方法 2 、抽象方法只有方法的定义,没有方法体。( 即:方法定义完之后没有大括号 { } ) 3 、只允许在抽象类中声明抽象方法。(也就是说:抽象方法写在抽象类中,或者含有抽象方法的类是抽象类). 1.1 什么是抽象类?. 1 、包含抽象方法的类是抽象类。 2 、抽象类不能实例化。 ☆(即不能创建抽象类的对象)
E N D
第05讲:Java语法4 江阴学院 - 计算机科学系 - 陈东东
本讲提纲 • 1.1 抽象类 • 1.2 接口
1.1 什么是抽象方法? 1、使用abstract修饰符修饰的方法为抽象方法 2、抽象方法只有方法的定义,没有方法体。( 即:方法定义完之后没有大括号 { } ) 3、只允许在抽象类中声明抽象方法。(也就是说:抽象方法写在抽象类中,或者含有抽象方法的类是抽象类)
1.1 什么是抽象类? • 1、包含抽象方法的类是抽象类。 • 2、抽象类不能实例化。 ☆(即不能创建抽象类的对象) • 3、假设子类从一个抽象类继承,如果子类没有实现父类的所有抽象方法,则子类还是一个抽象类。
1.1 抽象类的意义 • 提供派生类可共享的基类的公共定义,其主要的作用是用于继承,规定非抽象派生类必须实现的方法。
本讲提纲 • 1.1 抽象类 • 1.2 接口
1.2 接口的定义 例如: ------------------------------------------------------- interface Flyable { void fly(); } 第1行:使用interface关键字声明了一个名称为Flyable的接口 第3行:该接口中有抽象方法 fly() ,该方法返回类型为void。接口中的抽象方法默认都是public abstract类型的。
1.2 接口小结 1、一个类可以实现多个接口,多个类也可以实现同一个接口 2、当一个类从一个基类继承,并且实现多个接口时,继承基类必须写在前面。例如:publicclass Circle extends Shape implements Climbable, Flyable 先extends继承,然后implements实现接口。 3、接口自身可从一个或多个接口继承。 (使用extends关键字)例如:publicinterface IAbility extends Climbable, Flyable
1.2 接口与抽象类的比较 相同点: 1、都是一种类型,当一个类从一个基类继承,并实现多个接口时,该类可以以它的父类或所实现的接口类型出现。 2、都不能实例化,它们的作用主要是供子类继承或实现的。 不同点: 1、一个类可以实现多个接口,但只能从一个基类继承。 2、声明接口中的方法时可以不使用abstract关键字和访问修饰符(因为默认就是public abstract ),而抽象类中声明抽象方法时必须使用。 3、抽象类可以有成员变量和非抽象方法,而接口则不可以。(接口中的成员变量是 public static final类型的常量,必须在定义的时候就赋值。
1.2 接口与抽象类的使用建议 • 1、当在差异较大的对象间寻求功能上的共性时,使用接口;当在共性较多的对象间寻求功能上的差异时,使用抽象类,以方便代码共用和扩展。 • 2、设计小而简练的功能块,则使用接口。如果设计大的功能单元,则使用抽象类
1.2 接口:案例 案例描述: --------------------------- 现有主板一块,只有一个PCI插槽;有网卡、声卡各一块;现需要写程序来描述这样的情形:当主板上插上网卡的时候打印 “网卡正在工作……” , 当主板上插上声卡的时候打印 “声卡正在工作……” 案例分析: ------------------- 主要对象:主板、声卡、网卡 共 同 点:接口统一
反复强调 • 学习编程最重要的就是掌握解决问题的思路和方法。 • 查阅API文档的能力是最基本的自学能力。 • 动手实践是了解原理和细节的最好方法,尤其是调试技巧 • 有不懂的概念,那就请搜索引擎帮忙吧,学习其实很简单。