zoukankan      html  css  js  c++  java
  • Java基础学习 -- 接口

    • interface是一种特殊的class,但接口的组成比类简单,主要由抽象方法(abstract可以省略,但没有方法体)和全局常量(public static final)组成。
    • 接口是纯抽象类
      • 所有的成员函数都是抽象函数;
      • 所有的成员变量都是public static final;
    • 接口是为了方便类的调用
    • 一个类如果要去实现某个接口,要加 implements 接口名
    • 一个类去继承一个接口,必须覆写它的所有方法。
    • 抽象类可以实现接口,但是接口不能继承抽象类。
    • 一个子类可以继承多个接口(这一点秒杀抽象类,一个抽象类只能被一个子类所继承,单继承局限):
      •   interface A {
      •          public static final String MSG = "hello";
      •          public abstract void print();    //接口的方法一定为抽象函数,但abstract可以省略。
      •      }
      •      interface B {
      •          public abstract void fun();     //abstract可以省略。
      •      }
      •      class X implements A,B {
      •          public void print() {
      •               System.out.println("Hi");
      •          }
      •          public void fun () {
      •              System.out.println(MSG);
      •         }
      •    public class TestDemo {
      •      public static void main (String args[]) {
      •         X x = new X();
      •         A a = x;
      •         B b = x;
      •         a.print();
      •         b.fun();
      •      }
      •   }

    控制台:Hi

               hello

    接口的定义:

      

      这两种定义都是正确的。

      在定义接口方法的时候没有使用public,那么本质上也不是default权限,而默认就是public。但是子类在覆盖该方法的时候就要加public,否则编译不通过。

      很多时候为了防止一些开发者概念不清淅,建议在定义接口方法的时候永远都写上public,但是一般都不去写abstract,所以一般喜欢这么写:

      

      注意:在抽象类中,抽象方法不能省略abstract!

  • 相关阅读:
    其实吧
    一个很SB的方法,来开始调一个刚启动就SB的程序
    今天真的很SB
    32位程序关闭路径重定向
    WinDbg神断点
    SQLMap用户手册【超详细】

    真有敢干的
    21.递归
    16.数字大小升降排序编写
  • 原文地址:https://www.cnblogs.com/xingyazhao/p/5948893.html
Copyright © 2011-2022 走看看