java中Interface的用法

接口的用途:接口是可入性的保

l   在一个继承链中的任何一个类都可以实现一个接口,这个接口会影响到此类的所有子类,但不会影响到此类的任何父类。此类将不得不实现这个接口所规定的方法,

l   类可以从此类自动继承这些方法,这时候,这些子类具有了可插入性。软件系统的规模越大,生命周期越长,接口使得软件系统的灵活性和可扩展性,可插入性方面得到保证。

总结:接口在面向象的 Java程序设计中占有重的地位。事上在设计阶段最重要的任之一就是设计出各部分的接口,然后通接口的合,形成程序的基本框架结构

接口的具体使用方法

1.      接口的使用与类的使用有些不同。在需要使用的地方,直接使用new关键来构建一个类例,但接口不可以这样使用,因接口不能直接使用 new 关键来构

2.      接口必须通过类来实现(implements)它的抽象方法,然后再实例化类。类实现接口的关键字为Implements

3.      如果一个类不能实现该接口的所有抽象方法,那么这个类被定义为抽象方法

4.      不允许创建接口的例,但允接口型的引用量,该变量指向了实现接口的例。

5.      一个类只能继承一个父类,但却可以实现多个接口。

实现接口的格式如下
修饰符class 类名 extends 父类 implements 多个接口 {
   实现
}

import static java.lang.System.*;

public class Demo{

  public staticvoid main(String[] args) {

      SataHddsh1=new SeagateHdd(); //初始化希捷硬

      SataHddsh2=new SamsungHdd(); //初始化三星硬

  }

}

//串行硬接口

interface SataHdd{

    //线

    publicstatic final int CONNECT_LINE=4;

    //写数

    public voidwriteData(String data);

    //读数

    publicString readData();

}

// 修硬接口

interface fixHdd{

    // 修地址

    Stringaddress = "北京市海淀";

    //

    booleandoFix();

}

//希捷硬

class SeagateHdd implements SataHdd, fixHdd{

    //希捷硬盘读

    public String readData(){

        return"";

    }

    //希捷硬盘写

    public voidwriteData(String data) {

       out.println("入成功");

    }

    // 修希捷硬

    publicboolean doFix(){

        returntrue;

    }

}

//三星硬

class SamsungHdd implements SataHdd{

    //三星硬盘读

    publicString readData(){

        return"";

    }

    //三星硬盘写

    public voidwriteData(String data){

       out.println("入成功");

    }

}

//某劣,不能写数

abstract class XXHdd implements SataHdd{

    //盘读

    publicString readData() {

        return"";

    }

}

接口作为类型使用

接口作引用使用,任何实现该接口的例都可以存接口型的量中,通过这量可以访问类中所实现的接口中的方法,Java统会动态地确定应该使用哪个类中的方法,实际上是用相实现类的方法

示例如下:

public classDemo{

    public void test1(A a) {

        a.doSth();

    }

    public static void main(String[] args) {

        Demo d = new Demo();

        A a = new B();

        d.test1(a);

    }

}

interface A {

    public int doSth();

}

class Bimplements A {

    public int doSth() {

        System.out.println("now inB");

        return 123;

    }

}

 

Java中在接口的用中,要注意一下几点:
<1>
接口一般定的是常量和一些抽象方法。抽象中可以包含抽象方法,也可以有非抽象方法,但是有抽象方法的一定是抽象。抽象方法不能有方法体。
<2>
在引用接口,接口的引用指向实现象,量定义为接口或父的引用。其中有可能用到多的知。引用接口用implements
<3>
接口(interface)只能定抽象方法而且默认为Public。常量是public static final
<4>
implements引用接口。例:Class runnrtmp inplements runner.
<5>
关类可以实现接口,!!!!接口的引用指向实现象。
<6>
个类可以实现的接口(点和承要有所区别
<7>
承一,接口与实现类存在多性。
<8>
接口可以承其他的接口,添加新的性和抽象方法。
<9>
实现接口的方法加上public

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值