zoukankan      html  css  js  c++  java
  • Java学习

    Java 接口

    接口提供了一种方法声明与方法实现相分离的机制,使得接口的多个类具有共同的行为能力,能够实现运行时多态。

    接口(interface)是一组抽象方法、常量和内嵌类型的集合。接口时一种数据类型,采用抽象形式来描述约定,因此接口只有被对应的类实现之后才有意义。

    声明接口

    // 使用关键字 interface 声明接口,语法格式如下,其中 [] 表示可选项
    // [public] interface 接口<泛型> [extends 父接口列表]
    // {
    //  	[public] [static] [final] 数据类型 成员变量 = 常量值;
    //		[public] [abstract] 返回值类型 成员方法[(参数列表)];
    // }
    

    例如

    public interface Area{ // 可计算面积的接口
        public abstract double area(); // 抽象方法声明,计算面积
    }
    
    public interface Perimeter{ // 可计算周长接口
        public abstract double perimeter();  // 抽象方法声明,计算周长
    }
    

    接口与抽象类

    • 在Java8出现之前,抽象类和接口内的方法必须都是抽象方法,加abstract,不包含方法体;但在Java8之后,接口不仅可以包含抽象方法,还可以包括默认方法、静态方法
    • 一个类、接口可以继承多个接口,但一个类只能继承一个父类(不管是不是抽象类)
    • 抽象类的方法不需要在派生类中全部实现;但继承了某个接口的类必须要将接口的全部方法实现
    package sduwh;
    
    interface A{
    	public abstract void show();
    }
    
    interface B{
    	public abstract void print();
    }
    
    interface C extends A,B{ // 接口可以继承接口;接口可以多继承,这弥补了Java中类只能单继承的缺点;
    	
    }
    
    class Test implements C{
    	Test(){};
    	@Override
    	public void show() {
    		System.out.println("Class Test implements C,Override option void show()");
    	}
    	@Override
    	public void print() {
    		System.out.println("Class Test implements C,Override option void print()");
    	}
    	
    }
    public class It {
    	public static void main(String args[]) {
    		Test a = new Test();
    		a.show();
    		a.print();
    	}
    }
    

    接口定义规范

    interface Collection{
        void add(Object obj);
        void delete(Object obj);
        Object find(Object obj);
        int size();
    }
    
    ---- suffer now and live the rest of your life as a champion ----
  • 相关阅读:
    HDU 5446 CRT+Lucas+快速乘
    awk的用法
    【福利】小程序开发资源干货汇总
    前端css常用的选择小汇
    前端css常用的选择小汇
    前端,Java,产品经理,微信小程序,Python等资源合集大放送
    前端,Java,产品经理,微信小程序,Python等资源合集大放送
    bootstrap+fileinput插件实现可预览上传照片功能
    bootstrap+fileinput插件实现可预览上传照片功能
    Jquery前端分页插件pagination同步加载和异步加载
  • 原文地址:https://www.cnblogs.com/popodynasty/p/13838941.html
Copyright © 2011-2022 走看看