接口

来源:互联网 发布:mac 无法删除文件 编辑:程序博客网 时间:2024/05/09 08:16





interface InterA     //接口A{public abstract void show1();            //有方法,没有主体,不能实现}interface InterB     //接口B{public abstract void show2();             //有方法,没有主体,不能实现}class InterfaceA_B implements InterA,InterB     //  接口继承{public void show1()                       // 对show1()进行覆盖{System.out.println("InterA   show1 ...");}public void show2()                        // 对show2()进行覆盖{System.out.println("InterB    show2 ...");}public void show(){System.out.println("InterfaceA&B show");}}class InterfaceDemo{public static void main(String[] args) {InterfaceA_B in = new InterfaceA_B();in.show1();in.show2();in.show();}}

接口的另外用法:

interface Inter                               //接口:只提供方法的入口而不具体的实现{public abstract void show1();            //有方法,没有主体,不能实现}class Fu     {public void show(){System.out.println("Fu show...");}             }<span style="color:#ff0000;">class Inter_Fu extends Fu implements Inte</span>r     {public void show1()                      //     对接口方法的具体实现      {System.out.println("Interface   show1 ...");}}class InterfaceDemo{public static void main(String[] args) {Inter_Fu in = new Inter_Fu();in.show();in.show1();}}

接口之前的相互继承和实现细节

//本例演示接口之间也可以相互继承和实现的细节interface Inter1                              {public abstract void show1();            }interface Inter2  extends Inter1  {public abstract void show2();public abstract void show3();} class Inter1_2 implements Inter1,Inter2      {//必须要实现接口程序中所有的抽象列接口public void show1()                      {System.out.println("Interface1   show1 ...");}public void show2()                    {System.out.println("Interface2   show2 ...");} // 似然不需要show3的功能但是还是要实现其主体public void show3(){}}class InterfaceDemo{public static void main(String[] args) {Inter1_2 in = new Inter1_2();in.show1();in.show2();}}

但是需要每个接口都要实现,但是又不用,相当的繁琐,代码的复用性很差,这时我们想到了覆盖的思想--没有抽象方法的抽象类,仅为创建inter接口的子类对象。



interface Inter      {public abstract void show1();public abstract void show2();public abstract void show3();public abstract void show4(); } abstract class InterA implements Inter //没有抽象方法的抽象类 {                                      //(该类不允许被创建对象,所以被限制为abstract)public void show1(){}public void show2(){}public void show3(){}public void show4(){} } class InterDemo extends InterA { public void show1() {System.out.println("InterDemo   show1...."); } }class InterfaceDemo{public static void main(String[] args){InterDemo in = new InterDemo();in.show1();}}


0 0