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

    }

  • 相关阅读:
    Expert C programming书摘
    修改文件时间属性的方法
    算法学习, 开始计划
    小游戏学习搜集
    C++ 练习记录2---Effective STL中的vector<bool>
    C++ 练习记录1--vector<T> 中T的初始化
    oracle的wm_concat函数实现行转列
    Oracle批量插入有日期类型数据
    如何将zTree选中节点传递给后台
    第五章:1.数组和广义表 -- 数组
  • 原文地址:https://www.cnblogs.com/sujulin/p/6640522.html
Copyright © 2011-2022 走看看