java中interface使用
1.在C++中,类可以多重继承,一个类可以有好几个父类,但是在java中,类是不允许多重继承的,为了多重继承,java中出现了接口(interface)的定义。接口是可以多重继承的,接口的关键词是:interface。
如:
定义接口A:
interface A
{
...
}
定义接口B:
interface B
{
...
}
此时,接口C可以继承A和B:
interface C extends A,B
{
...
}
同时类也可以同时实现多个接口
如:
class Test implements A,B
{
...
}
2.接口中只有2中类型的成员,一种是数据成员,一种是方法成员。其中数据成员都是final类型的,是常量,在定义的时候要设置好的,以后不能修改。方法成员全是抽象方法,实现接口的类要全部实现这些抽象方法。
3.接口不能直接实例化,只能通过其子类进行实例化。
1 interface Usb 2 { 3 public abstract void start(); 4 public abstract void stop(); 5 } 6 7 class Mp3 implements Usb 8 { 9 public void start() 10 { 11 System.out.println("Mp3 start"); 12 } 13 14 public void stop() 15 { 16 System.out.println("Mp3 stop"); 17 } 18 } 19 20 class Disk implements Usb 21 { 22 public void start() 23 { 24 System.out.println("Disk start"); 25 } 26 27 public void stop() 28 { 29 System.out.println("Disk stop"); 30 } 31 } 32 33 class Computer 34 { 35 public void work(Usb u) 36 { 37 u.start(); 38 u.stop(); 39 } 40 } 41 42 public class InterFaceInstanceOf { 43 44 /** 45 * @param args 46 */ 47 public static void main(String[] args) { 48 // TODO Auto-generated method stub 49 //通过其子类进行实例化操作 50 Usb uD = new Disk(); 51 Usb uM = new Mp3(); 52 53 Computer d = new Computer(); 54 Computer m = new Computer(); 55 56 d.work(uD); 57 m.work(uM); 58 59 } 60 61 }
4.接口实际上就是定义出了一个”统一的标准“