導航:首頁 > 編程語言 > implementjava

implementjava

發布時間:2022-03-08 17:28:33

java裡面interface,implement和extends的作用和用法,多謝

你應該好好看看面向對象,然後在學學java基礎語法。
interface是一個介面,類似於C++中的純虛函數。
舉個簡單的例子,有一類東西,都具有同樣的行為,而這個共有的行為實現方式不一樣。
如:筆這類東西,都有共同的行為「寫」,鉛筆、毛筆、圓珠筆、鋼筆都有「寫」的功能,但實現起來不一樣。那麼我們就可以抽象出一個介面「筆」
interface 筆{
void 寫();
}
implement的意思是指在鉛筆、毛筆、圓珠筆要有」寫「的這個功能,就需要實現介面」筆「的」寫「功能。而這個關鍵字implement就是實現的意思,如:
class 鉛筆 implement 筆{
void 寫(){
用鉛芯畫
}
}

class 鋼筆 implement 筆{
void 寫(){
用墨水畫
}
}

而你提到的extends是指一個繼承關系,子類繼承父類的功能。舉個簡單的例子:父類」燈「具有」發光「的功能,而子類"台燈",只需要extends父類」燈「就擁有了發光的共功能。

介面和繼承的區別,由於時間有限,你參考這篇帖子
http://bruce-ko.javaeye.com/blog/420254

② java implement什麼作用

extends是繼承父類,只要那個類不是聲明為final或者那個類定義為abstract的就能繼承,JAVA中不支持多重繼承,但是可以用介面來實現,這樣就要用到implements,繼承只能繼承一個類,但implements可以實現多個介面,用逗號分開就行了
比如
class A extends B implements C,D,E

③ java中implements是什麼意思在什麼時候使用

implements實現的意思。在Java中是實現介面時使用implements。

extends是繼承父類,只要那個類不是聲明為final或者那個類定義為abstract的就能繼承

JAVA中不支持多重繼承,但是可以用介面來實現,這樣就要用到implements,繼承只能繼承一個類,

但implements可以實現多個介面,用逗號分開就行了比如:

classAextendsBimplementsC,D,E

介面實現的注意點:

a.實現一個介面就是要實現該介面的所有的方法(抽象類除外)。

b.介面中的方法都是抽象的。

c.多個無關的類可以實現同一個介面,一個類可以實現多個無關的介面。

(3)implementjava擴展閱讀

與Extends的不同

extends,可以實現父類,也可以調用父類初始化this.parent()。而且會覆蓋父類定義的變數或者函數。這樣的好處是:架構師定義好介面,讓工程師實現就可以了。整個項目開發效率和開發成本大大降低。implements,實現父類,子類不可以覆蓋父類的方法或者變數。即使子類定義與父類相同的變數或者函數,也會被父類取代掉。

這兩種實現的具體使用,是要看項目的實際情況,需要實現,不可以修改implements,只定義介面需要具體實現,或者可以被修改擴展性好,用extends。

④ java extend 和 implements 的區別

一個是繼承,一個是實現介面,繼承這個可以理解為繼承父類的方法,父類中的方法可以在子類中用到,super(),實現介面就是在介面中定義了方法,這個方法要你自己去實現,介面可以看作一個標准,比如定義了一個動物的介面,它裡面有吃(eat())這個方法,你就可以實現這個方法implements,這個方法是自己寫,可以是吃蘋果,吃梨子,香蕉,或者其他的。IMPLEMENTS就是具體實現這個介面。

⑤ JAVA中implement和extends的區別

implement是實現介面的,
extends是繼承用的。一個類可以實現多個介面,但是只能繼承一次

⑥ java中implements和Interface的區別

Implements 是實現的意思 而Interface 是一個介面
Implements 有點繼承的意思 類與類之間就是繼承 而類與介面之間就是實現(類實現介面)

⑦ JAVA語言的Implement關鍵字用的時候為什麼變成了Implements

這個關鍵字是聲明介面用的,在JAVA語言里,一個類可以聲明多個借口,所以使用關鍵字Implements表示聲明介面,後面跟介面的名字,多個介面使用符號","隔開.

⑧ Java三大框架的 Dao、ImplementDao、Service、ImplementService分別有什麼作用詳細點。加分(男人說的).

其實 service,都是mvc模式中的m,就是 model,service主要處理邏輯,處理和資料庫的交互,就是存取數據。那為什麼在加一層借口呢,就是為了分的更清楚啊,而且這樣可以做到更好的強內聚,弱耦合,編碼代碼的修改和重構。

⑨ java裡面 implements Serializable有什麼作用

對象的串列化(Serialization)

一、串列化的概念和目的

1.什麼是串列化

對象的壽命通常隨著生成該對象的程序的終止而終止。有時候,可能需要將對象的狀態保存下來,在需要時再將對象恢復。我們把對象的這種能記錄自己的狀態以便將來再生的能力。叫作對象的持續性(persistence)。對象通過寫出描述自己狀態的數值來記錄自己 ,這個過程叫對象的串列化(Serialization) 。串列化的主要任務是寫出對象實例變數的數值。如果交量是另一對象的引用,則引用的對象也要串列化。這個過程是遞歸的,串列化可能要涉及一個復雜樹結構的單行化,包括原有對象、對象的對象、對象的對象的對象等等。對象所有權的層次結構稱為圖表(graph)。

2.串列化的目的

Java對象的單行化的目標是為Java的運行環境提供一組特性,如下所示:

1) 盡量保持對象串列化的簡單扼要 ,但要提供一種途徑使其可根據開發者的要求進行擴展或定製。

2) 串列化機制應嚴格遵守Java的對象模型 。對象的串列化狀態中應該存有所有的關於種類的安全特性的信息。

3) 對象的串列化機制應支持Java的對象持續性。

4) 對象的串列化機制應有足夠的 可擴展能力以支持對象的遠程方法調用(RMI)。

5) 對象串列化應允許對象定義自身 的格式即其自身的數據流表示形式,可外部化介面來完成這項功能。

二、串列化方法
從JDK1.1開始,Java語言提供了對象串列化機制 ,在java.io包中,介面Serialization用來作為實現對象串列化的工具 ,只有實現了Serialization的類的對象才可以被串列化。

Serializable介面中沒有任何的方法。當一個類聲明要實現Serializable介面時,只是表明該類參加串列化協議,而不需要實現任何特殊的方法。下面我們通過實例介紹如何對對象進行串列化。

1.定義一個可串列化對象

一個類,如果要使其對象可以被串列化,必須實現Serializable介面。我們定義一個類Student如下:

importjava.io.Serializable;

{

intid;//學號

Stringname;//姓名

intage;//年齡

Stringdepartment;//系別

publicStudent(intid,Stringname,intage,Stringdepartment){

this.id=id;

this.name=name;

this.age=age;

this.department=department;

}

}

2.構造對象的輸入/輸出流

要串列化一個對象,必須與一定的對象輸出/輸入流聯系起來,通過對象輸出流將對象狀態保存下來,再通過對象輸入流將對象狀態恢復。

java.io包中,提供了ObjectInputStream和ObjectOutputStream將數據流功能擴展至可讀寫對象 。在ObjectInputStream 中用readObject()方法可以直接讀取一個對象,ObjectOutputStream中用writeObject()方法可以直接將對象保存到輸出流中。

importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.ObjectInputStream;
importjava.io.ObjectOutputStream;

publicclassObjectSer{

publicstaticvoidmain(Stringargs[])throwsIOException,
ClassNotFoundException{

Studentstu=newStudent(981036,"LiuMing",18,"CSD");

FileOutputStreamfo=newFileOutputStream("data.ser");

ObjectOutputStreamso=newObjectOutputStream(fo);

try{

so.writeObject(stu);

so.close();

}catch(IOExceptione){
System.out.println(e);
}

stu=null;

FileInputStreamfi=newFileInputStream("data.ser");

ObjectInputStreamsi=newObjectInputStream(fi);

try{

stu=(Student)si.readObject();

si.close();

}catch(IOExceptione)

{
System.out.println(e);
}

System.out.println("StudentInfo:");

System.out.println("ID:"+stu.id);

System.out.println("Name:"+stu.name);

System.out.println("Age:"+stu.age);

System.out.println("Dep:"+stu.department);

}

}

運行結果如下:

Student Info:

ID:981036

Name:LiuMing

Age:18

Dep:CSD

在這個例子中,我們首先定義了一個類Student,實現了Serializable介面 ,然後通過對象輸出流的writeObject()方法將Student對象保存到文件 data.ser中 。之後,通過對家輸入流的readObjcet()方法從文件data.ser中讀出保存下來的Student對象 。從運行結果可以看到,通過串列化機制,可以正確地保存和恢復對象的狀態。

三、串列化的注意事項
1.串列化能保存的元素

串列化只能保存對象的非靜態成員交量,不能保存任何的成員方法和靜態的成員變數,而且串列化保存的只是變數的值,對於變數的任何修飾符都不能保存。

2.transient關鍵字

對於某些類型的對象,其狀態是瞬時的,這樣的對象是無法保存其狀態的。例如一個Thread對象或一個FileInputStream對象 ,對於這些欄位,我們必須用transient關鍵字標明,否則編譯器將報措。

另外 ,串列化可能涉及將對象存放到 磁碟上或在網路上發達數據,這時候就會產生安全問題。因為數據位於Java運行環境之外,不在Java安全機制的控制之中。對於這些需要保密的欄位,不應保存在永久介質中 ,或者不應簡單地不加處理地保存下來 ,為了保證安全性。應該在這些欄位前加上transient關鍵字。

下面是java規范中對transient關鍵字的解釋:
The transient marker is not fully specified by The Java Language Specification but is used in object serialization to mark member variables that should not be serialized.

以下是transient的一個應用舉例:

//LoggingInfo.java
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.ObjectInputStream;
importjava.io.ObjectOutputStream;
importjava.util.Date;
.io.Serializable{
=1L;
privateDateloggingDate=newDate();
privateStringuid;
privatetransientStringpwd;
LoggingInfo(Stringuser,Stringpassword){
uid=user;
pwd=password;
}
publicStringtoString(){
Stringpassword=null;
if(pwd==null){
password="NOTSET";
}else{
password=pwd;
}
return"logoninfo: "+"user:"+uid+" loggingdate:"+loggingDate.toString()+" password:"+password;
}
publicstaticvoidmain(String[]args){
LoggingInfologInfo=newLoggingInfo("MIKE","MECHANICS");
System.out.println(logInfo.toString());
try{
ObjectOutputStreamo=newObjectOutputStream(newFileOutputStream("logInfo.out"));
o.writeObject(logInfo);
o.close();
}catch(Exceptione){//dealwithexception
}
//Toreadtheobjectback,wecanwrite
try{
ObjectInputStreamin=newObjectInputStream(newFileInputStream("logInfo.out"));
LoggingInfologInfo1=(LoggingInfo)in.readObject();
System.out.println(logInfo1.toString());
}catch(Exceptione){//dealwithexception
}
}
}

⑩ java中的implement怎麼用

java中能夠定義介面 介面是一種變相的抽象類 介面的定義可以實現java中的多繼承問題 java中類與類之間只能單繼承 關鍵字 是extends 而對於類來說可以實現介面 關鍵字就用implements 表示該類實現介面 介面與介面是也可以用extends來繼承

extends是繼承父類,只要那個類不是聲明為final或者那個類定義為abstract的就能繼承,JAVA中不支持多重繼承,但是可以用介面來實現,這樣就要用到implements,繼承只能繼承一個類,但implements可以實現多個介面,用逗號分開就行了
比如
class A extends B implements C,D,E

閱讀全文

與implementjava相關的資料

熱點內容
優信二手車解壓後過戶 瀏覽:62
Windows常用c編譯器 瀏覽:778
關於改善國家網路安全的行政命令 瀏覽:833
安卓如何下載網易荒野pc服 瀏覽:654
javainetaddress 瀏覽:104
蘋果4s固件下載完了怎麼解壓 瀏覽:1003
命令zpa 瀏覽:286
python編譯器小程序 瀏覽:945
在app上看視頻怎麼光線調暗 瀏覽:540
可以中文解壓的解壓軟體 瀏覽:593
安卓卸載組件應用怎麼安裝 瀏覽:913
使用面向對象編程的方式 瀏覽:339
程序員項目經理的年終總結範文 瀏覽:929
內衣的加密設計用來幹嘛的 瀏覽:433
淮安數據加密 瀏覽:292
魔高一丈指標源碼 瀏覽:982
松下php研究所 瀏覽:168
c回調java 瀏覽:401
夢幻端游長安地圖互通源碼 瀏覽:746
電腦本地文件如何上傳伺服器 瀏覽:313