程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> java學習中,接口的使用(重要,常用知識點)(java 學習中的小記錄),java知識點

java學習中,接口的使用(重要,常用知識點)(java 學習中的小記錄),java知識點

編輯:JAVA綜合教程

java學習中,接口的使用(重要,常用知識點)(java 學習中的小記錄),java知識點


java學習中,接口的使用(重要,常用知識點)(java 學習中的小記錄)作者:王可利(Star·星星)

 

接口(功能:用來添加拓展功能的

例子:鉛筆、帶橡皮檫的鉛筆。

兩個功能:

    1.寫字......> 鉛筆

    2.擦字......> 橡皮擦

想法:定義一個鉛筆類,定義一個橡皮擦類,定義一個帶橡皮擦的鉛筆類繼承 鉛筆類和橡皮擦類

但是java是單繼承的。於是就有了解決的方法:接口(可以添加拓展功能)

如:一個鉛筆類,給它添加一個接口給它一個拓展類(橡皮擦類)

接口的定義模式

用 interface 關鍵字來表示接口

結構: interface 接口名{};

如何實現完成接口方法:

結構:

    class   類名  implements  接口名1,接口名2,接口名3.....{

  }

接口的作用:

    1.可以拓展功能

    2.可以讓程序解耦

       解耦:類 和 接口沒有太大的關聯,不實現這個接口這個類一樣獨立存在,如果這個類不實現這個接口,就完全不需要這些接口。

               又好比說:一個 Student 類繼承 Person類,Student 沒有Person 不能獨立存在。

               所以 類 和 接口 就是一個解耦的過程,框架會經常用到。

    3.可以定於約束

        一個項目不止一個人來完成,有很多欄目。如:網易新聞 每天的頭條 都會 有 增 刪 改 查。每個人的方法是不一樣,換一個人維護的話可能方法都變了.所以就需要定於一個大家都一樣的方法來約束。規則就是一樣的了。

接口使用注意事項:

    1.接口是一個特殊的類,是可以定義屬性方法的。

    2.接口裡面的屬性默認是用final來修飾的。實際是一個常量:public  static final int a = 10;

    3.接口裡面的方法都是抽象的:abstract public void  run(){}

    4.接口是沒有構造方法的。也不能創建對象。

    5.接口是給類去實現的,非抽象類實現接口時,必須將接口中的方法都實現。

    6.一個抽象類實現接口,可以不實現接口中的方法,但是繼承於它的子類必須實現接口中的方法。

    7.接口和接口之間是繼承關系,一個接口是可以繼承多個接口的。格式和普通類一樣 用  interface A  extends  B,C...

 1 package study;
 2 
 3 //定義一個擦字的接口
 4 interface Easer{
 5     //定義方法 擦字
 6     //定義在接口中的方法是不需要實現的,接口中的方法都叫抽象方法
 7     public void clear();//默認是用abstract來修飾的方法
 8 }
 9 interface Pencil{
10     public void write();
11 }
12 
13 class EraserAndPencil implements Pencil,Easer{
14     //如果一個類實現了一個接口,那麼這個類裡面必須實現這個接口裡面的所以方法。
15     public void write(){
16         System.out.println("鉛筆可以寫字");
17     }
18     //java中是可以實現多個接口的
19     public void clear(){
20         System.out.println("鉛筆擦可以擦字");
21     }
22 }
23 
24 public class star {
25     public static void main(String[] args) {
26         EraserAndPencil star = new EraserAndPencil();
27         star.write();
28         star.clear();
29     }
30 }

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved