zoukankan      html  css  js  c++  java
  • 【JAVA】接口(一)

    一、接口的概念

      接口是一种更彻底的抽象。接口是从多个相似类中抽象出来的规范,接口不提供任何实现,接口体现的是规范和实现分离的设计哲学。

    二、接口的定义

      接口定义不再使用class关键字,而是使用interface关键字。

      以下是定义接口的基本语法:

      【修饰符】interface 接口名 extends 父接口1,父接口2...

      {

        //常量定义

        //抽象方法定义

      }

    • 修饰符只能是public 或者省略,省略的话就是包访问级别,即只有在同一个包下才能访问此接口。
    • 一个接口可以有多个父类,但是只能继承,不能实现接口。
    • 接口里定义的是多个类共同的公共的行为规范,因此类中定义的Field、方法、内部类、枚举类都是public访问权限。
    • 接口中的方法只能是抽象方法,由于abstract不能和static共同来修饰一个方法,所以接口中的所有方法总是public abstract来修饰的,可以缺省不写,默认会加上的。
    • 接口中定义的Field是接口相关的,而且只能是常量,所以接口中定义的Field都是public static final 修饰的,可以缺省不写,系统会默认加上。
    • 接口中不能定义构造器和初始化块
    • 接口中可以定义内部类、枚举类、接口,默认都是使用public static修饰,而且只能是public static 修饰。

      下面我们看一下接口定义的例子:

      

    package interfaceDemo;
    
    public interface OutPut {
    
        //接口中定义的Field只能是常量
        int MAX_CACHE_LINE = 50;
        
        //这句话和上面那句话是等价的
        //public static final int MAX_CACHE_LINE = 50;
        
        //接口中定义的方法只能是抽象的,没有方法体
        void out();
        
        void getData(String msg);
    }

    三、接口的继承

      接口和类不一样,它是支持多继承的。多个父接口跟在extends关键字后面,以逗号隔开。和类继承一样,接口继承一个父接口的时候,会获得父接口中定义的所有的抽象方法以及常量。

      

    public interface InterfaceA {
        int A = 1;
        void print();
    }
    
    public interface InterfaceB {
        int B = 2;
        void say();
    }
    
    public interface InterfaceC extends InterfaceA, InterfaceB{
        int C = 3;
        
        public static class Test
        {
            public static void main(String[] args) {
                System.out.println(InterfaceC.A);
                System.out.println(InterfaceC.B);
                System.out.println(InterfaceC.C);
            }
        }
    }

      输出结果为:

      1
      2
      3

  • 相关阅读:
    PetShop4.0 工厂模式及Profile Provider实现(转载)
    [转]asp.net 2.0中的url映射
    今天将IE升级到了7.0版
    元旦放假了!
    ASP.NET AJAX中出现“Type”未定义,“Sys”未定义的解决办法
    windows2003下如何关闭共享?
    [转]SQL中CONVERT转化函数的用法
    [转]利用GridView显示主细表并一次编辑明细表所有数据的例子
    Bcastr 3.0 flash 通用图片轮换播放器
    为程序程序集签名
  • 原文地址:https://www.cnblogs.com/sister/p/4712306.html
Copyright © 2011-2022 走看看