最近在論壇上看到關於String s = new String("XYZ") + new String("XYZ");到底建立幾個對象的討論,覺得比較有意思,在此總結一下。 在JAVA中除了8種基本類型之外,其他的都是類對象及其引用。所以 "XYZ"在JAVA中是一個String對象,對於String類對象來說它的對象值是不能修改的,也就是具有不變性。 但是在下面一段程式中:public class TestString { public static void main(String
1. 普通內部類普通內部類的一個最簡單的例子:// 外部類class OutterClass { // 內部類 public class InnerClass { private int i = 0; public int getInt(){ return i; } } public void proc(){ InnerClass inClass = new InnerClass();
1. 一個類中的方法如果只有聲明沒有實現,則稱為抽象方法,必須用abstract修飾之;一個有抽象方法的類稱為抽象類別,也必須用abstract修飾之,但抽象類別可以沒有抽象方法;抽象類別不能被建立:// 抽象類別abstract class A { // 抽象方法 abstract public void proc();}// 沒有抽象方法的抽象類別abstract class B { public void proc(){ }}public class Main {
1. 每個類都有一個Class對象,當我們在運行期第一次產生類的執行個體時,JVM就載入這個類的Class對象,然後用這個Class對象來建立類執行個體;Class類似於Delphi中的引用類TClass,用於儲存類的運行時資訊。 2. Class的static方法forName()用於尋找某個類的Class對象,如果forName找不到你要的類的Class對象,會拋出ClassNotFoundException異常:class A{}public class Main {
// 2004-9-18內部類總結:1內部類的嵌套可以理解成類的鏈關係,在構造一個內部類(非static)的執行個體的時候,會將直接外層類的執行個體作為參數傳進建構函式,而外層類的執行個體也是用其外層類的執行個體構造,所以是一種鏈狀關係,內部的類可以使用所有外層的類的執行個體,而外層的類不能使用內層的類, 應用a.this(最外層類執行個體) ,a.b.c.this(鏈中某個外層的執行個體)。class TheOuter{ class kk { class gg { int tt
package java.lang.reflect;/** * Field,Method,Constructor都要繼承的介面,它表示一個類中的元素 * * comment by liqiang */publicinterface Member { //表示類定義中全部(包括繼承)的某類public元素 public static final int PUBLIC = 0; //表示當前類定義中(不包括繼承)的全部某類元素 public static final