1. 程式人生 > >java介面的基本概述,interface與implements

java介面的基本概述,interface與implements

介面的基本概述 介面:拓展功能的。  usb介面.。。 介面的定義格式: interface介面名{     } 介面要注意的事項     1.介面是一個特殊的類。     2.介面的成員變數預設的修飾符為: public static final。那麼也就是說介面中的成員變數都是常量。     3.介面中的方法都是抽象的方法,預設的修飾符為: public abstract     4.介面不能建立物件。     5.介面是沒有構造方法的。     6.介面是給類去實現使用的,非抽象類實現一個介面的時候,必須要把介面中所有方法全部實現 實現介面的格式: class 類名 implements
介面名{     }
interface A{
   //成員變數
   publicstaticfinalint i=10;
   //成員函式
   publicvoid print();
}
class Demo7 implements A{// Demo7就實現了A介面
   publicstaticvoid main(String[] args)
   {
        Demo7 d=new Demo7();
        d.print();
   }
   //實現介面中的方法
   publicvoid print(){
        System.out.println("這個是介面中的print方法...");
   }
}

介面的作用 1.拓展功能 2.定義約束規範 (次重要) 3.程式的解耦 (最重要) 類與介面的關係 類與介面之間關係: 實現關係。 類與介面要注意的事項: 1. 非抽象類實現一個介面時,必須要把介面中所有方法全部實現。 class A implements B,C {內部為所有方法實現} 2. 抽象類實現一個介面時,可以實現也可以不實現介面中的 方法。 abstract class A implements B {} 3. 一個類可以實現多個介面 。 疑問: java為什麼不支援多繼承,而支援了多實現呢?
class A{
	public void print(){
		System.out.println("AAAAAA");
	}
}
class B{
	public void print(){
		System.out.println("BBBBBB");
	}
}
class C extends A ,B{
}
new C().print();//出錯,而介面內部無實現過程。

介面與介面之間關係: 繼承關係。 介面與介面之間要注意事項: 1. 一個介面是可以繼承多個介面的。可一接多
interface A{
	public void print();
}
interface C{
	public void getArea();
}
interface B extends A,C{ // B介面繼承A介面
	public void test();
}
----------------------------------------------------------------------
class Demo10 implementsB{
	public static void main(String[] args){
		Demo10 d = new Demo10();
		d.print();
	}
	public void getArea(){}
	public void test(){}
	public void print(){
		System.out.println("這個是A介面的print方法...");
	}
}


相關推薦

java介面基本概述interfaceimplements

介面的基本概述 介面:拓展功能的。  usb介面.。。 介面的定義格式: interface介面名{     } 介面要注意的事項:     1.介面是一個特殊的類。     2.介面的成員變數預設

爬蟲的原理(基本流程RequestResponse怎麼解決JavaScript渲染的問題怎麼儲存資料)

什麼是爬蟲? 爬蟲就是請求網站並提取資料的自動化程式。 爬蟲基本流程 1.發起請求:通過HTTP庫向目標站點發起請求,即傳送一個Request,請求可以包含額外的headers等配置資訊,等待伺服器響應。 2.獲取響應內容:如果伺服器能正常響應,會得到一個Response,其中的內容

java 異常處理機制throwsthrowtry-catch-finally

java 異常處理機制 1.Java異常處理 2.try-catch-finally的程式流程圖 3.關鍵解讀 4.demo 5.不捕獲異常時的情況 在編寫程式時,經常要在可能出現錯誤的地方

JAVA基本組成以及環境變數的配置

JAVA語言包含哪些部分: JRE(Java Runtime Environment,java執行環境):JVM+類庫。 JDK(Java Development Kit,java開發工具包):JRE+JAVA的開發工具。 Java平臺版本: 標準版Java SE:桌面級開發,但應用

(新手向)爬蟲的原理(基本流程RequestResponse怎麼解決JavaScript渲染的問題怎麼儲存資料)

什麼是爬蟲? 爬蟲就是請求網站並提取資料的自動化程式。 爬蟲基本流程 1.發起請求:通過HTTP庫向目標站點發起請求,即傳送一個Request,請求可以包含額外的headers等配置資訊,等待伺服器響應。 2.獲取響應內容:如果伺服器能正常響應,會得到一個Res

java介面的意義為什麼介面可以多繼承而類不可以?

原文地址:http://www.cnblogs.com/yunxiblog/p/5240690.html java當中繼承一個介面,要重寫他的方法的話,那為什麼還要多此一舉的去實現一個介面呢? 直接把方法寫在類當中不就可以了? 就是說去掉類名後面的Implements 介面 ,可

[十五]java.math包簡介RoundingModeMathContext

java.math包提供了java中的數學類 包括基本的浮點庫、複雜運算以及任意精度的資料運算 '可以看得到,主要包括三個類一個列舉 BigDecimal和BigInteger接下來會詳細介紹 先說下另外兩個 RoundingMode 舍入行為/ 近似模式 對於很多

介面概述特點以及介面和抽象類的區別

第1章 介面 1.1 介面的概述 介面是功能的集合,同樣可看做是一種資料型別,是比抽象類更為抽象的”類”。 介面只描述所應該具備的方法,並沒有具體實現,具體的實現由介面的實現類(相當於介面的子類)來完成。這樣將功能的定義與實現分離,優化了程式設計。 1.2 介面的格式&使用 1.

《連載 | 物聯網框架ServerSuperIO教程》- 12.服務介面的開發以及雲端雙向互動

目       錄 12.服務介面的開發,以及與雲端雙向互動... 2 12.1        概述... 2 12.2        裝置連結器... 2 12.3        服務連結器... 3 12.4        場景假設... 3

基本概念:Interface abstract 類的區別

抽象類: 含有abstract修飾符的class即為抽象類,abstract 類不能建立的例項物件。含有abstract方法的類必須定義為abstract class,abstract class類中的方法不必是抽象的。abstract class類中定義抽象方法必須在具體(Concrete

Java八大基本型別詳解包裝類

java八大基本型別: 整型: byte: byte資料型別是8位、有符號的,以二進位制補碼錶示的整數; 最小值是-128(-2^7); 最大值是127(2^7-1); 預設值是0; byte型別用在

封裝的概述好處設計原則+private關鍵字的使用

一。封裝 以如下例子說明封裝的好處與設計原則 如下圖,如果這裡我們給年齡設定了一個負數的值,顯然是極不合理的 ,這裡我們就要涉及到一個關鍵字private,設定為private後非本類中不能訪問這個屬性,然後我們定義一個設定年齡的公有許可權的方法,在裡面進行

java的鎖機制synchronizeLock比較

以前執行緒同步只知道synchronize關鍵字,後來才知道還有個lock,為什麼還要有個lock來實現同步呢 synchronized的侷限性 佔有鎖的執行緒等待IO或者其他原因被阻塞,沒有釋放鎖的情況下,其他執行緒一直阻塞 多個執行緒同時讀寫檔案的

Golang | 既是介面又是型別interface是什麼神仙用法?

本文始發於個人公眾號:**TechFlow**,原創不易,求個關注 今天是golang專題的第12篇文章,我們來繼續聊聊interface的使用。 在上一篇文章當中我們介紹了面向物件的一些基本概念,以及golang當中interface和多型的實現方法。今天我們繼續來介紹interface當中其他的一些

Java中IO流輸入輸出流概述總結

ips 刪除一個文件 數據 長度 還要 都是 模式 方式 歌曲 轉自:https://www.cnblogs.com/biehongli/p/6074713.html 1:Java語言定義了許多類專門負責各種方式的輸入或者輸出,這些類都被放在java.io包中。其中, 所有

java ->基本數據類型包裝類的概述和轉化

參數 orm int 引用 拆箱 再次 spa style 一個 基本類型 包裝類概述    在實際程序使用中,程序界面上用戶輸入的數據都是以字符串類型進行存儲的。而程序開發中,我們需要把字符串數據,根據需求轉換成指定的基本數據類型,如年齡需要轉換成int類型,考試成績需要

Java基本資料型別包裝類字串轉換

儲存範圍大小: byte-short-char-int-long-float-double 低階到高階自動型別轉換: int i = 5; float f = i; double d = i; 高階到低階強制型別轉換: int a = 20; byte b = (byte) a;

abstract class 抽象類interface 介面的區別以及應用

抽象類 特點 擁有抽象方法的類必須是抽象類 抽象類可以沒有抽象方法 繼承了抽象類的子類必須實現抽象方法,如果不實現抽象方法那麼子類必須是抽象類 抽象類中可以對方法進行宣告也可以對方法進行實現 抽象方法不能宣告為static 抽象方法不能宣告為private

JAVA傳送http請求呼叫http介面方法

1.傳送POST請求,無引數名呼叫。 import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import

interface abstract class(介面 抽象類)的特點以及區別以及應用場景

一、抽象類(abstract) 1、抽象類不能被例項化,如果例項化就會報錯,編譯無法通過。只有抽象類的非抽象子類可以建立物件。 2、抽象類中不一定含有抽象方法,但是有抽象方法的類一定是抽象類。 3、抽象類中的抽象方法只能宣告,不包含方法體,就是不會給出方法的具體實現