标签:支持 pac xtend 另一个 使用 imp cti bsp sde
package cn.china; abstract class AbsDemo{ abstract void show1(); abstract void show2(); } /** *当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用 *另一种形式定义和表示,就是 接口 interface * *定义接口使用的关键字不是class,是interface。 **/ interface Demo5{ public static final int NUMBER=4; public abstract void show1(); public abstract void show2(); } /** * 类与类之间是继承关系,类与接口是实现关系。 * 接口不能实例化 * 只能由实现了接口的子类并覆盖了接口中所有的抽象方法后,该子类才可以实例化 * 否则,这个子类就是一个抽象类*/ class DemoImpl implements Demo5{ public void show1(){} public void show2(){} } /** * 对于接口当中常见的成员,而且这些成员都有固定的修饰符 * 1、全局常量:public static final * 2、抽象方法 public abstract * 由此得出结论,接口中的成员都是公共的权限。*/ /** * java中不支持多继承,因为会出现调用的不确定性。 * 所以java将多继承进行改良,java中变成多实现。 * 一个类可以实现多个接口*/ interface Aa{ public abstract void show6(); } interface Bb{ public abstract void show6(); } class Test1 implements Aa,Bb{ public void show6(){ } } /** * 一个类在继承另一个类的同时,还可以实现多个接口 * 接口与接口*/ class q{ public void method(){} } class Test2 extends q implements Aa,Bb{ public void show6(){ } interface cc{ void showa(); } interface mm{ void showb(); } interface qq extends cc,mm{//接口与接口可以多继承关系,而且接口可以多继承 void function(); } class ww implements qq{ public void showa(){} public void showb(){} public void function(){} } } /** * 抽象类与接口的异同点: * 相同点:都是不断向上抽取而来的 * 不同点: * 1、抽象类需要被单继承abstract,接口需要被多实现implements * 2、抽象类中可以定义抽象方法和非抽象方法,此类继承后可以直接使用非抽象方法。 * 接口中只能定义抽象方法,必须由子类去实现 * 3、抽象类是 is a关系在定义该体系共性能容;接口是like a关系,定义体系的额外功能。 * * 例: 学生有学习功能 可以被提取定义抽象类 ; * 学生抽烟功能, 是额外功能 使用interface 接口定义 * * 例: * 犬按功能分,有导盲犬,搜救犬 * abstract class 犬{ * abstract void 吼叫(); * } * class 导盲犬 extends 犬 implements 导盲{ * public void 吼叫(){} * public void 导盲(){} * } * interface 导盲{ * abstract void 导盲(); * }*/ //在不同的问题领域中,有不同的分析方式。 /** * 笔记本电脑使用, * 为了扩展笔记本功能,担日后出现什么功能设备不知道 * * 定义一个规则,只要日后出现的设备都符合这个规则就可以了 * 规则在java中就是接口 interface*/ // class Mouse{ // // } //class Bookpc{ // public static void main(String[]args){ // useMouse(new Mouse()); // } // public static void useMouse(Mouse m){ // m.open(); // } //} interface USB{ //暴漏规则 public abstract void open(); public abstract void close(); } public class Interface{ public static void main(String[]args){ // DemoImpl D=new DemoImpl(); // System.out.println(D.NUMBER); // System.out.println(DemoImpl.NUMBER); // System.out.println(Demo.NUMBER); // TODO Auto-generated method stub // Test1 t=new Test1(); // t.show6(); //useUSB(null); UPan U=new UPan(); useUSB(U);//功能扩展了 } //使用规则 public static void useUSB(USB u){//接口类型的引用,用于接收(指向)接口子类的对象。 u.open(); u.close(); } //实现规则 class UPan implements USB{ public void open(){ System.out.println("UPan open"); } public void close(){ System.out.println("UPan close"); } } }
标签:支持 pac xtend 另一个 使用 imp cti bsp sde
原文地址:http://www.cnblogs.com/wangyinxu/p/6520597.html