• 接口


    接口(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,....{
    //类成员

    }

  • 相关阅读:
    bzoj4325: NOIP2015 斗地主(爆搜+模拟)
    bzoj3631: [JLOI2014]松鼠的新家(LCA+差分)
    bzoj3555: [Ctsc2014]企鹅QQ (Hash)
    bzoj1455: 罗马游戏 + bzoj2809: Dispatching(可并堆)
    bzoj1510: [POI2006]Kra-The Disks(单调栈)
    bzoj3380: [Usaco2004 Open]Cave Cows 1 洞穴里的牛之一(spfa+状压DP)
    bzoj3048+3049+3050
    bzoj3083 遥远的国度 && bzoj3626 LCA (树链剖分)
    bzoj1745: [Usaco2005 oct]Flying Right 飞行航班(贪心+map)
    bzoj1724: [Usaco2006 Nov]Fence Repair 切割木板(贪心+堆)
  • 原文地址:https://www.cnblogs.com/sujulin/p/6640522.html
Copyright © 2020-2023  润新知