《(15)--第3章-Java程序设计面向对象设计(5).ppt》由会员分享,可在线阅读,更多相关《(15)--第3章-Java程序设计面向对象设计(5).ppt(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第3章 Java面向对象设计(5)Java程序设计第5节 接口程序设计4任务陈述任务陈述123知识准备知识准备任务实施任务实施任务拓展任务拓展任务实训任务实训5Java程序设计知识目标掌握抽象类的概念;掌握Java接口的概念;理解面向接口编程的思想;掌握面向接口编程步骤;掌握接口中常量使用方法。能力目标学会使用抽象类创建父类;能会使用接口技术完成程序结构的设计;运用多态技术实现接口的程序架构设计。教学目标Java程序设计1 任务陈述任务描述:任务描述:电脑主板上的USB接口有严格的规范,U盘、键盘、鼠标等设备的内部结构不相同,但都遵守了USB接口的规范,所以,在使用USB接口时,可以将遵循该接
2、口的任意设备插入USB接口,而不用担心哪个USB接口是专门插哪个盘。请编写程序,模拟使用USB接口的过程。运行结果:运行结果:Java程序设计2 知识准备3.11 抽象类1 抽象类和抽象方法Java中存在一种类专门用来当作父类的类,这种类类似“模版”,其目的是要设计者依据它的格式来修改并创建新的类。抽象类和抽象方法必须用abstract关键字修饰格式public abstract void eat();abstract class 类名 抽象类不一定有抽象方法,有抽象方法的类一定是抽象类Java程序设计2 知识准备2 抽象类的特点抽象类不能直接实例化按照多态的方式,由具体的子类实例化格式:抽象
3、类名 变量名=new 具体子类名();抽象类的子类可以是抽象类也可以是具体类,重写抽象类中的所有抽象方法Java程序设计2 知识准备3 抽象类的成员特点成员变量可以是变量,也可以是常量构造方法有构造方法,但是不能实例化,主要用于子类访问父类数据的初始化成员方法可以有抽象方法 限定子类必须完成某些动作也可以有非抽象方法,提高代码复用性Java程序设计2 知识准备3.12 接口1 接口的定义接口是由常量和抽象方法组成的特殊类,它代表了一组扩展的功能。一些类可以实现这个接口,也可以不实现。Java程序设计2 知识准备2 接口的声明与实现接口用关键字interface表示格式:interface 接口
4、名 类实现接口用implements表示格式:class 类名 implements 接口名列表 Java程序设计2 知识准备3 接口的特点(1)接口与接口之间可以有继承关系,一个接口可以有多个父接口。是多继承关系。(2)一个类可以实现多个接口(3)实现接口的类可以是抽象类,对接口中的方法不需要重写;可以是具体类,重写接口中的所有抽象方法(4)接口不能直接实例化,按照多态的方式,由具体的子类实例化。Java程序设计2 知识准备4 接口中成员特点成员变量只能是常量,默认修饰符 public static final构造方法没有成员方法只能是抽象方法默认修饰符 public abstractJav
5、a程序设计2 知识准备5 接口与类类与类继承关系,只能单继承,但是可以多层继承类与接口实现关系,可以单实现,也可以多实现。还可以在继承一个类的同时实现多个接口接口与接口继承关系,可以单继承,也可以多继承Java程序设计2 知识准备3.13 Java的修饰符在定义类中成员变量和成员方法时,都会使用一些修饰符来做出某些限制。修饰符分为访问控制修饰符和非访问控制修饰符1 权限修饰符public修饰符:表示公有,可以修饰类、属性和方法。private 修饰符:只能修饰成员变量和成员方法。protected修饰符:表示受保护,只能用来修饰成员变量和成员方法。默认(friendly)修饰符Java程序设计
6、2 知识准备2 权限修饰符的权限范围publicprotected默认private同一类中同一包子类,其他类不同包,子类不同包,其他类Java程序设计2 知识准备3、非权限修饰符学过非权限修饰有:static:静态abstract:抽象final:终结Java程序设计2 知识准备4 类及其组成可以用的修饰符类:默认,public,final,abstract我们自己定义:public居多成员变量:四种权限修饰符均可,final,static我们自己定义:private居多Java程序设计2 知识准备4 类及其组成可以用的修饰符构造方法:四种权限修饰符均可,其他不可我们自己定义:public
7、居多成员方法:四种权限修饰符均可,final,static,abstract我们自己定义:public居多Java程序设计2 知识准备3.14 内部类把类定义在其他类的内部,这个类就被称为内部类举例:在类A中定义了一个类B,类B就是内部类。内部类的访问特点:内部类可以直接访问外部类的成员,包括私有。外部类要访问内部类的成员,必须创建对象。按照内部类在类中定义的位置不同,可以分为成员内部类和局部内部类Java程序设计2 知识准备1 成员内部类外界如何创建对象外部类名.内部类名 对象名=外部类对象.内部类对象;例如 在类A中定义了一个类B,类B就是内部类A.B bb=new A().new B()
8、;Java程序设计2 知识准备成员内部类的常见修饰符private 为了保证数据的安全性static 为了让数据访问更方便被静态修饰的成员内部类只能访问外部类的静态成员内部类被静态修饰后的方法静态方法非静态方法外界如何创建对象外部类名.内部类名 对象名=new 外部类名.内部类名();Java程序设计2 知识准备2 局部内部类就是把类定义在一个方法中,这样的类只能在方法中使用,相当于局部变量Java程序设计2 知识准备3 匿名内部类就是内部类的简化写法。前提:存在一个类或者接口这里的类可以是具体类也可以是抽象类。格式:new 类名或者接口名()重写方法;本质:是一个继承了类或者实现了接口的子类
9、匿名对象举例:7-2,7-3Java程序设计匿名内部类面试题按照要求,补齐代码interface Inter void show();class Outer /补齐代码 class OuterDemo public static void main(String args)Outer.method().show();要求在控制台输出”HelloWorld”Java程序设计3 任务实施实现思路U盘、键盘、鼠标等设备都有连接电脑的功能,把这个功能做成一个接口,UsbInterface,定义三个方法,分别是连接、工作和停止。其次,创建U盘、键盘、鼠标三个类,都实现UsbInterface接口,重写接
10、口中的三个方法。最后创建测试类,测试数据Java程序设计3 任务实施任务代码(部分代码)public class Mouse implements UsbInterface public void conn()System.out.println(鼠标已经连接);public void start()System.out.println(鼠标开始工作);public void stop()System.out.println(鼠标停止工作);public interface UsbInterface void conn();void start();void stop();Java程序设计4 任务拓展当接口变量中存放了实现接口的类的对象的引用后,接口变量就可以调用类实现的接口方法,这一过程被称为接口回调。和子类体现多态类似,由接口产生的多态就是指不同的类在实现同一个接口时可能具有不同的实现方式。在使用多态设计程序时,要熟练使用接口回调技术以及面向接口编程的思想,以便体现程序设计所提倡的“开-闭”原则。Java程序设计5 任务实训一、实训目的掌握抽象类和接口的创建,了解面向接口编程二、实训内容公司支出的总薪水评价成绩三、简要提示抽象类和接口利用多态的向上转型的应用