JAVA基礎(59)---介面
阿新 • • 發佈:2018-11-19
介面
對外提供一個標準和規範。至於其中的實現,並不去關心。
介面定義:interface
介面和類的區別:
- 介面不能建立物件。
- 介面中沒有構造方法
介面的意義
介面是用來被實現的。
介面的組成
- 介面中宣告的變數,預設都是public static final
- 在介面不存在變數,存在的只能是常量,而且是靜態常量
- 在介面中只能存在抽象方法。
- 在介面中可以存在靜態方法。包括方法的實現。方法的修飾只能使用public abstract static default
介面的使用
介面名稱 引用變數 = new 實現類();
對於介面的實現類,必須實現介面中的所有的抽象方法。如果實現類沒有實現介面中的所有的抽象方法,那麼該實現類必須是抽象類。
在Java中多型的由兩種體現
- 繼承:父類的引用指向子類物件
- 介面:介面的引用指向實現類的物件。
介面的特點
- 介面可以繼承介面,介面中的繼承是多繼承(一個介面可以繼承多個介面)
- 對於存在繼承關係的介面,那麼他的實現類就要求不但要實現該介面的所有的方法,而且還要實現該介面的所有的父介面所有方法
- 介面的實現類可以實現一個或者多個介面:如果一個類實現了多個介面,那麼該類就必須實現介面中的所有的方法,如果不能實現介面中的所有的方法,那麼該類必須就是抽象的。
public interface InterfaceDemo{
public static final int num = 10;
public static void show() {
}
public abstract void print();
}
public class InterfaceDemoimpl implements InterfaceDemo{
int num = 20;
@Override
public void print() {
// TODO Auto-generated method stub
}
}
package org.lanqiao.inter.demo;
public class Test {
public static void main(String[] args) {
///InterfaceDemo id = new InterfaceDemo();
InterfaceDemo id = new InterfaceDemoimpl();
//InterfaceDemo.num = 20;
int i = InterfaceDemo.num;
System.out.println(i);
}
}