zoukankan      html  css  js  c++  java
  • 接口

    接口:

    1.java使用interface这个关键字来声明接口,修饰符一般都是public,interface后就是接口的名字

    2.java8之前接口内不能实现方法,接口方法不需要加修饰符,加与不加都是public abstract

    3.接口与类不同,他的方法没有实现代码定义一个接口本身并没有做什么

    4.java使用implements这个关键字表示接口,前面是类名,后面是接口名

     public class Point inplements MyComparable{}

    5.一个类可以实现多个接口,表明类的对象具备多种能力,各个接口之间以逗号分隔

    public class Test implents Interface1,Interface2

    6.接口不能new,对象只能通过类来创建,可以声明接口类型的变量,引用实现接口的类对象

    Interface1 p1=new classname();

    7.接口中的变量

    public interface Interface1{public static final int a=0;}

    修饰符可选,但不写也是public static final

    使用:Interface1.a

    8.接口的继承

    接口同样可以使用extends关键字继承,不同的是一个接口可以继承多个父接口,中间以逗号相隔

    9.类的继承与接口

    类可以在继承基类的情况下,同时实现一个或多个接口 关键字extends要放在implement之前

    10.接口也可以使用instanceof关键字,用来判断一个对象是否实现了某接口

    11.使用组合和接口替代继承

    12.java8和9对接口的增强:

    java8中允许在接口中定义两类新方法:静态方法和默认方法,他们都有实现体

    默认方法用default关键字表示,有默认的实现,实现类可以改变它的功能,也可以不改变

    引入默认方法主要是函数式数据处理的需求,是为了便于给接口增加功能

    在java8中,静态方法和默认方法都必须是public的,java9去除了这个限制,他们可以是private的,主要为了方便多个静态或默认方法复用代码

  • 相关阅读:
    A Node Influence Based Label Propagation Algorithm for Community detection in networks 文章算法实现的疑问
    Fast Newman-FN算法以及模块度定义介绍
    Label Propagation Algorithm LPA 标签传播算法解析及matlab代码实现
    设计一个smartnic
    Intel GEN11 GPU
    Intel GEN9 GPU
    Shared Virtual Memory (SVM) Functions
    connect via ssh to virtualbox guest vm without knowing ip address
    smartnic
    技术精品翻译
  • 原文地址:https://www.cnblogs.com/wtblogwt/p/9716681.html
Copyright © 2011-2022 走看看