跳過第一章節 對象入門,好多廢話啊~~
第二章 一切都是對象
String s;
創建一個句柄時,記住無論如何都進行初始化
String s = "asdf";
字串可用加引號的文字初始化
把我變成這些對象的一種新類型”。所以在上面的例子中,可以說:
String s = new String("asdf");
在作用域裏定義的一個變量,它只有在那個作用域結束之前纔可使用
定義了一些數據成員的類示例:
class DataOnly { int i; float f; boolean b; }這個類並沒有做任何實質性的事情,但我們可創建一個對象:
DataOnly d = new DataOnly();
可將值賦給數據成員,但首先必須知道如何引用一個對象的成員。爲達到引用對象成員的目的,首先要寫上對象句柄的名字,再跟隨一個點號(句點),再跟隨對象內部成員的名字。即“對象句柄.成員”。例如:
d.i = 47;
d.f = 1.1f;
d.b = false;方法的基本組成部分包括名字、自變量、返回類型以及主體。下面便是它最基本的形式:
返回類型 方法名( /* 自變量列表*/ ) {/* 方法主體 */}import java.util.Vector;
於static方法不需要創建任何對象,所以它們不可簡單地調用其他那些成員,同時不引用一個已命名的對象,從而直接訪問非static成員或方法(因爲非static成員和方法必須同一個特定的對象關聯到一起)。
述代碼能生成一個static數據成員,並對其初始化:
class StaticTest {
Static int i = 47;
}// Property.java import java.util.*; public class Property { public static void main(String[] args) { System.out.println(new Date()); Properties p = System.getProperties(); p.list(System.out); System.out.println("--- Memory Usage:"); Runtime rt = Runtime.getRuntime(); System.out.println("Total Memory = " + rt.totalMemory() + " Free Memory = " + rt.freeMemory()); }try {
Thread.currentThread().sleep(5 * 1000);
} catch(InterruptedException e) {}
}”。
所以在任何Java程序中,一旦要把某些內容打印到控制檯,就可條件反射地寫上System.out.println("內容")。
}文件中的一個類必須與文件同名(如果沒這樣做,編譯器會及時作出反應)。類裏必須包含一個名爲main()的方法,形式如下:
public static void main(String[] args) {
其中,關鍵字“public”意味着方法可由外部世界調用(第5章會詳細解釋)。main()的自變量是包含了String對象的一個數組。args不會在本程序中用到,但需要在這個地方列出,因爲它們保存了在命令行調用的自變量。System.out.println(new Date());
請觀察它的自變量:創建Date對象唯一的目的就是將它的值發送給println()。一旦這個語句執行完畢,Date就不再需要。隨之而來的“垃圾收集器”會發現這一情況,並在任何可能的時候將其回收System.getProperties()。若用Web瀏覽器查看聯機用戶文檔,就可知道getProperties()是System類的一個static方法。由於它是“靜態”的,所以不必創建任何對象便可調用該方法