Time of Update: 2018-12-04
很久沒有看到如此精闢的文章了!作者寫得實在太好了!正在學JAVA或者想瞭解抽象類別與介面的朋友,絕對不可錯過!本人極力推薦!OOP中介面與抽象類別的區別Java語言介面與繼承的本質深入理解介面和抽象類別 OOP中介面與抽象類別的區別OOP中的INTERFACE和ABSTRACT
Time of Update: 2018-12-04
如何迅速成為Java高手很多網友問我學習Java有沒有什麼捷徑,我說“無他,唯手熟爾”。但是我卻很願意將自己學習的一些經驗寫出來,以便後來者少走彎路,協助別人是最大的快樂嘛! 要想學好Java,首先要知道Java的大致分類。我們知道,自從Sun推出Java以來,就力圖使之無所不包,所以Java發展到現在,按應用來分主要分為三大塊:J2SE,J2ME和J2EE,這也就是Sun ONE(Open Net Environment)體系。J2SE就是Java2的標準版,主要用於案頭應用軟體的編程;
Time of Update: 2018-12-04
地球人都知道,JAVA跟C++不一樣,定義的函數是無法支援預設參數的,它是通過把方法進行重載實現的,這就是我們所說的多態性表現之一。當然我並沒有說這不好,請別誤會!我也不會誤導你,請接著往下看! 假設我們要做一個加法運算的函數,當有兩個參數的時候,運算結果就返回它們之和再加100,當只有一個參數時,那就輸出它加100,也就是它本身,傳統實現方法如下:public int AddMethod(int a){ return a+100;}public int
Time of Update: 2018-12-04
Object[] objs = new Object[3];Object obj = objs;objs = (Object[])obj;另外,下文對java中的數組的本質做了一些探討:http://dev.csdn.net/author/DeepNightTwo/afb7e220bdf5423ba656f84b6a183b44.html另,/**//* * TestObjectArray.java, 2007-6-16 17:07:29. * * CopyRight (c) 2007-200
Time of Update: 2018-12-04
package com.lxh.test;import java.io.*;/* * lxh */public class Test { public static void main(String[] args) throws Exception { String line; String physicalAddress = "read MAC error!"; try { Process p=Runtime.getRuntime().exec("cmd.exe /c
Time of Update: 2018-12-04
/** * * 這段程式算出的答案是正確的,但是比實際情況要慢一些,只因為打錯了一個字元。 * 變數sum 被聲明Long 而不是long ,意味著程式構造了大約2 的31 字方 個多餘的 * Long執行個體(大約每次往Long sum 中增加long 時構造一個執行個體)。將sum 的聲明從 * Long 改成 long ,在我的機器上已耗用時間從 35 秒減少到6秒。結論很明顯:要優 * 先使用基本類型而不是裝箱基本類型,要當心無意識的自動裝箱。 * @param args
Time of Update: 2018-12-04
public class Convert {public static void main(String[] args) {Convert convert = new Convert();int return_num = convert.convert_num("123");System.out.println("retunr nam --"+return_num);}/** * 把一組數字 字串轉化成數字 */public int convert_num (String val){int
Time of Update: 2018-12-04
裝飾模式又稱封裝(Wrapper)模式,是以對用戶端透明的方式擴充項物件的功能,是繼承關係的一個替代方案。對用戶端透明意味著介面不變。問題:在OO設計和開發過程中, 經常會遇到下面的情況: 我們需要為已經設計好的類添加新的職責, 通常情況下我們會定義一個新類繼承自訂好的類. 由於組合比繼承更好(複雜度高,繼承深度深等原因, 見<設計模式解析>P39討論), 今天我們就來介紹一下應用的組合的裝飾模式.類圖: 原始碼:package
Time of Update: 2018-12-04
JDK為程式員提供了大量的類庫,而為了保持類庫的可重用性,可擴充性和靈活性,其中使用到了大量的設計模式,本文將介紹JDK的I/O包中使用到的Decorator模式,並運用此模式,實現一個新的輸出資料流類。
Time of Update: 2018-12-04
1.獲得目前時間的方法:利用java.until.DateSystem.err.print("Formant 1: "); System.out.println(new Date(System.currentTimeMillis()) ); //System.out.print("The 2 formant: "); System.err.print("Formant 2: "); Date d=new Date(); long
Time of Update: 2018-12-04
Java對象序列化 在網上看了很多有關序列化的文章,我自己也寫了兩篇,現在感覺這些文章都沒有很好的把序列化說清楚(包括我自己在內),所以在此我將總結前人以及自己的經驗,用更淺顯易懂的語言來描述該機制,當然,仍然會有不好的地方,希望你看後可以指出,作為一名程式員應該具有不斷探索的精神和強烈的求知慾望!序列化概述:
Time of Update: 2018-12-04
事實上網路編程簡單的理解就是兩台電腦相互連訊資料而已.對於程式員而言,去掌握一種編程介面並使用一種編程模型相對就會顯得簡單的多了.Java SDK提供一些相對簡單的Api來完成這些工作.Socket就是其中之一.對於Java而言.這些Api存在與java.net 這個包裡面.因此只要匯入這個包就可以準備網路編程了. 網路編程的基本模型就是客戶機到伺服器模型.簡單的說就是兩個進程之間相互連訊,然後其中一個必須提供一個固定的位置,而另一個則只需要知道這個固定的位置.並去建立兩者之間的聯絡.
Time of Update: 2018-12-04
策略模式是對演算法的封裝,把使用演算法的責任和演算法本身分隔開,委派給不同的對象管理。策略模式通常把一系列的演算法封裝到一系列的策略類裡面,作為一個抽象策略類的子類。何時使用原則模式:1) 如果在一個系統裡面有許多類,它們之間的區別僅在於它們的行為,那麼使用原則模式可以動態讓一個對象在許多行為中選擇一種行為。2)
Time of Update: 2018-12-04
import java.io.*; //多線程編程 public class MultiThread { public static void main(String args[]) { System.out.println("我是主線程!"); //下面建立線程執行個體thread1 ThreadUseExtends thread1=new ThreadUseExtends(); //建立thread2時以實現了Runnable介面的THhreadUseRunnable類執行個體為參數
Time of Update: 2018-12-04
fianlly中的代碼一定會執行,除非在執行前,先執行了exit,或者電腦斷電。在try或者catch中有return時,若有finally,也會先執行finally中的代碼,然後返回。 fianlly語句雖然能在return之前執行,但是finally語句不能通過重新給變數賦值的方式改變return語句的傳回值。例如:int a=100;try{ ... reurn a+1;}catch(Exceptioin e){retrun
Time of Update: 2018-12-04
轉自:http://blog.csdn.net/hbcui1984/archive/2007/02/28/1516911.aspxjava讀取設定檔的幾種方法 在現實工作中,我們常常需要儲存一些系統配置資訊,大家一般都會選擇設定檔來完成,本文根據筆者工作中用到的讀取設定檔的方法小小總結一下,主要敘述的是spring讀取設定檔的方法。一.讀取xml設定檔(一)建立一個java
Time of Update: 2018-12-04
java 檔案與流的總結一 java 讀寫檔案 Java的IO操作都是基於流進行操作的,為了提高讀寫效率一般需要進行緩衝。 簡單的樣本程式如下: /** * 讀出file1中的內容,寫入file2中 * */BufferedReader reader=new BufferedReader(new FileReader(file1)); BufferedWriter writer=new BufferedWriter(new FileWriter(file2));
Time of Update: 2018-12-04
關於JAVA中參數傳遞問題的總結關於JAVA中參數傳遞問題的總結首先以兩個例子開始:1)public class Test2 { public static void main (String [] args) { StringBuffer a = new StringBuffer ("A"); StringBuffer b = new StringBuffer ("B"); operate (a,b); System.out.println(a+","+b); }static
Time of Update: 2018-12-04
java類中用Collections的sort方法對一個list進行排序,比較簡單先建一個User對象public class User {public String name;public Integer age;public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getName() {return name;}public void
Time of Update: 2018-12-04
轉載,原文來自http://blog.sina.com.cn/s/blog_5f79a56a0100c6ig.html眾所周知,java中的物件導向的三大基本特徵是:【封裝】、【繼承】、【多態】一、封裝 對象要有一個明確的邊界;邊界的劃分(對象各司其職、對象的粒度、對象的可重用性) 具體來說: 1.屬性: 私人 private(提供set和get方法) 2.方法: 公開或私人public/private