zoukankan      html  css  js  c++  java
  • 接口

    接口(interface)

    实现接口(implements)

    接口的特点:

    1)接口不能实例化,接口中也不能有构造方法.

    2)接口之间可以通过extends实现继承关系,一个接口可以继承多个接口,但是接口不能继承类.

    3)接口中所有方法都是抽象方法.接口的方法都会自动用public abstract修饰,即接口中只有全局抽象方法.

    4)接口中可以定义常量,不能定义变量.

    5)接口中的属性都会用public static final修饰,即接口中的属性都是全局静态常量.接口中的常量必须在定义时指定初始值.

    Eg:

    public static final int num=3;

    int num=3;//在接口中,这二种定义语句效果完全相同

    接口表示一种能力

    一个类实现了某个接口,就表示这个类具备了某种能力.一个类可以实现多个接口

    /**
    * 门
    * @author Administrator
    *
    */
    public abstract class Door {
    public abstract void open(); //开
    public abstract void close(); //关

    }

    /**
    * 锁,接口
    * @author Administrator
    *
    */
    public interface Lock {
    void lockup(); //关锁
    void openLock();//开锁

    }


    /**
    * 防盗门类
    * @author Administrator
    *
    */
    public class TheftproofDoor extends Door implements Lock {

    @Override
    public void lockup() {
    System.out.println("插入钥匙,向左转三圈,锁上了,拔出钥匙");

    }

    @Override
    public void openLock() {
    System.out.println("插入钥匙,向右转三圈,锁打开了,拔出钥匙");

    }

    @Override
    public void open() {
    System.out.println("用力推,门打开了");

    }

    @Override
    public void close() {
    System.out.println("轻轻拉门,门关上了");

    }

    }

    /**
    * 测试类
    * @author Administrator
    *
    */
    public class Test {
    public static void main(String[] args) {
    /**
    * 创建具体防盗门对象
    */
    TheftproofDoor tfd=new TheftproofDoor();
    tfd.close(); //关门
    tfd.lockup(); //上锁
    tfd.openLock(); //开锁
    tfd.open(); //开门
    }

    }

    接口表示一种约定

    面向接口编程:

    程序设计时:

    关心实现类有何能力,而不关心实现的细节.

    面向接口的约定而不考虑接口的具体实现.

    接口的定义语法:

    [访问修饰符]interface 接口名 extends 父接口1,父接口2,....{
    //常量定义
    //方法定义
    }

    实现接口的语法:

    class 类名  extends 父类名  implements   接口1,接口2,....{
    //类成员

    }

  • 相关阅读:
    Powerful Bash-style command line editing for cmd.exe
    VBA Code for Word Navigation Pane 【failed】 view-showheading-method-word
    network lab simulator
    Global Git ignore
    hosts 持续更新
    TC Hangs when using quick search extended on win10 (1703)
    mybatis缓存机制
    web网上书店总结(jsp+servlet)
    Spring AOP之多切面运行顺序
    C语言实现蛇形矩阵
  • 原文地址:https://www.cnblogs.com/sujulin/p/6640522.html
Copyright © 2011-2022 走看看