原创 Thinking in Java: 2.對象

1.java對象存儲在什麼地方?堆:用於存放所有Java對象,堆不同於堆棧的好處是:編譯器不需要知道存儲的數據在堆裏存活多長時間。當需要對象時new一個就行,當然靈活性的代價是:存儲分配和清理需要更多時間。2.基本類型boolean、ch

原创 Thinking in Java :關於初始化的總結

看了這麼多,對初始化順序做個總結:在含有 繼承、靜態變量、一般變量、構造函數的幾個類裏面,順序如下:1.基類靜態變量2.子類靜態變量3.進入main函數: 若創建了一個子類對象,                             4

原创 Thinking in Java : 7.複用類

轉載於:http://blog.csdn.net/ZJDWHD/article/details/52441298其他的就不想再貼過來了,就只寫一下自己覺得重要的,詳細的請去上面鏈接看。7. final關鍵字     根據上下文環境,關鍵字

原创 thinking in Java:5.1初始化與清理

1.重載:每個重載的方法必須有一個獨一無二的參數類型列表。注意:無法以返回值區分方法重載方法重載要滿足的條件:1.方法名相同。2.參數類型或參數列表順序不同。3.返回值可以相同也可以不同。所以,不能使用返回值來區分方法重載下面看一段報錯代

原创 Thinking in java:17 容器深入研究

1. Set和存儲順序2. 理解Map再次強調默認的Object.equal()只是比較對象的地址,所以如果要用自己的類作爲HashMap的鍵,必須同時重載hashCode()和equal()方法。3. 理解hashCode()  使用散

原创 Thinking in Java : 13、字符串

1. 不可變String    String對象是不可變的。String類中每個看起來會修改String值的方法,實際上都是創建了一個全新的String對象,以包含修改後的字符串內容。而最初的String對象則絲毫未動。public cl

原创 Thinking in Java 3.操作符

1.關係操作符==和!=也適用於所有對象。看代碼:public class Equalsasd{ public static void main(String[] args){ Integer n1 = new Int

原创 java在調用System.out.println()打印一個新new的對象時,爲什麼會調用toString方法?

在Java中,所有的對象都是繼承自Object,自然繼承了toString方法,在當使用System.out.println()裏面爲一個對象的引用時,自動調用toString方法將對象打印出來。如果重寫了tostring方法則調用重寫的

原创 Thinking in Java : 11、持有對象(容器)

1. 集合類:List、Set、Queue、Map,我們稱爲容器。他們都可以自動調整大小。2. 向上轉型,ArrayList、LinkedList具有List接口中未包含的額外方法,若你需要使用這些方法,就不能向上轉型爲更通用的接口。Li

原创 攔截器與Fiter(過濾器)的區別

兩者都是AOP編程思想的體現,都能實現權限檢查、日記記錄,不同的是:1. 適用範圍不同。 Fiter是Servlet規範規定的,只能用於Web程序中。而攔截器既可以用於Web程序,也可以用於Application、Swing中。2. 規範

原创 創建和操縱表

1.創建表   利用CREATE TABLE創建表 CREATE TABLE customers ( cust_id int NOT NULL AUTO_INCREMENT, cust_name ch

原创 Thinking in java : 16 數組

請優先使用高級容器集合,除非證明用數組確實效率高,否則當然優先使用容器集合。1.  數組是一種效率最高的存儲和隨機訪問對象引用序列的方式,其代價就是固定大小。ArrayList的效率比數組低很多。不可越界否則產生RuntimeExcept

原创 Thinking in java: 14類型信息

1.  java識別對象和類的信息的兩種方式:   (1)RTTI,她假定我們在編譯時已經知道了所有類型;名字含義:在運行時,識別一個對象的類型。   (2)反射機制,他允許我們運行時發現和使用類的信息。2. 類是程序的一部分,每個類都有

原创 thinking in java:接口和抽象類

寫的不錯的文章,轉載一下:http://blog.csdn.net/fly_zxy/article/details/51113087抽象類和普通類的區別抽象類和接口的區別3.接口中能用到的設計模式      1.策略設計模式:創建一個能夠

原创 thinking in java:5. 初始化與清理

1.例子:public class ArrayOfPrimitives{ public static void main(String[] ar