interface..pptx
文本预览下载声明
接口声卡网卡显卡生活中的接口电脑主板上的PCI (Peripheral Component Interconnect/view/1432289.htm外设部件互连标准)插槽的规范就类似于Java接口 主板每种卡的内部结构都不相同,可以把声卡、网卡、显卡都插在PCI插槽上,而不用担心哪个插槽是专门插哪个卡的抽象类和抽象方法1、抽象方法★ 使用关键字 abstract修饰的方法称为 抽象方法◆例如:abstract void f() ;★ 区别:方法的声明和方法的实现⑴ 方法的声明:◆ abstract void f();⑵ 方法的实现◆ abstract void f(){…};◆ 利用一对大花括号提供方法的实现抽象类和抽象方法2、抽象类⑴ 抽象类的概念★ 包含抽象方法的类称为抽象类⑵抽象类的用途★ 创建抽象类的目的在于:抽象类为它的 所有导出类创建了一个通用接口◆ 不同的子类使用不同的方式实现此接口⑶抽象类的重要性质Ⅰ不能为抽象类创建其对象★ 否则,编译器就会报错Ⅱ如果继承一个抽象类并试图创建该类 的对象,那么就必须为基类中的所有 抽象方法提供方法定义★ 如果不这么做(可选择不做),那么 导出类便也是抽象类★ abstract class Instrument // 抽象类 { private int i; // 抽象方法 public abstract void play(Note n); public abstract void adjust(); public String what() // 抽象类中可以包含非抽象方法 { return “Instrument”;} }★ class Wind extends Instrument { // 为基类抽象方法提供方法的实现 public void play(Note n) { print(“Wind.play()” + n );} public void adjust(){} public String what() // 覆盖基类继承下来的方法 { return “Wind”;}}.....二、 接口1、 接口(Interface)的概念 接口(interface)为我们提供了一种用来组织和控制系统中的对 象的更加精致的方法。C++中不包含这种机制。★在Java中,可以使用interface关键字来 创建一个完全抽象的类◆ 区别:抽象类与接口2、 接口的创建★ 接口是一种特殊的类,但在创建时使用 interface关键字 interface Instrument { // 隐式为static final int VALUE=5; // 只能有声明,不能有具体的定义和实现 // 缺省为public void play(Note n); void adjust();}★ 归纳:1、接口也可以包含域,这些域隐式为static和final◆ 但现在很少在接口中包含域2、只能有方法的声明,不能有具体的定义和实现◆ 只允许创建者确定方法名、参数列表和 返回类型,但是不能有任何的方法体3、interface的访问权限控制有两种:◆ Public◆ 缺省(包访问权限控制)4、interface中方法的访问权限控制只有一种◆ public(缺省),否则编译器报错接口接口的实现要让一个类实现某个特定的接口或者是一组接口需要使用implements关键字public interface PCI { public void start(); public void stop();}这是Java接口,相当于主板上的PCI插槽的规范Java接口中定义的方法在不同的地方被实现,可以具有完全不同的行为class SoundCard implements PCI { public void start()??{ System.out.println(Du du...); } public void stop()??{ System.out.println(Sound stop!); }}class NetworkCard implements PCI { public void start()??{ System.out.println(Send...); } public void stop()??{ System.out.println(Network stop!); }}声卡、网卡都实现了PCI插槽的规范,但行为完全不同 可以使用Java接口标识类型运行时,根据实际创建的对象类型调用相应的方法实现public class Assembler
显示全部