java编程思想 学习笔记(2)
?第二章 ? ? 一切都是對象
用引用(reference)操縱對象
String s = "asdf";
String s;
但這里所創(chuàng)建的只是引用,并不是對象。如果此時向s 發(fā)送一個消息,就會返回一個運行時刻錯誤。這是因為此時s 實際上沒有與任何事物相關(guān)聯(lián)(即沒有電視機)。因此,一種安全的做法是:創(chuàng)建一個引用的同時便進行初始化。String s = "asdf";
必須由你創(chuàng)建所有對象
有六個不同的地方可以存儲數(shù)據(jù):
1. 寄存器(register).2. 堆棧(stack).3. 堆(heap).4. 靜態(tài)存儲(static storage).5. 常量存儲(constant storage).6. 非 RAM 存儲.
對象作用域(scope of object)
Java 有一個“ 垃圾回收器”,用來監(jiān)視用new 創(chuàng)建的所有對象,并辨別那些不會再被引用的對象。隨后,釋放這些對象的內(nèi)存空間,以便供其它新的對象使用。也就是說,你根本不必擔(dān)心內(nèi)存回收的問題。你只需要創(chuàng)建對象,一旦不再需要,它們就會自行消失。這樣做就消除了這類編程問題:即所謂的“內(nèi)存溢出”,即由于程序員忘記釋放內(nèi)存而產(chǎn)生的問題。
創(chuàng)建新的數(shù)據(jù)類型:類
域(field)和方法(method)
當(dāng)變量作為一個類的成員使用時,Java 才確保給定其默認值,以確保那些是基本類型的成員變量得到初始化(C++沒有此功能),防止產(chǎn)生程序錯誤。但是,這些初始值對你的程序來說,可能是不正確的,甚至是不合法的。所以最好明確地對變量進行初始化.然而上述確保初始化的方法并不適用于“局部”變量(即并非是某個類的屬性)。因此,如果在某個方法中有這樣定義:
方法(Method)、參數(shù)(argument)和返回值(return value)
Static 關(guān)鍵字
通過Static 關(guān)鍵字,可以滿足這兩方面的需要。當(dāng)你聲明一個事物是Static 時,就意味著這個數(shù)據(jù)或方法不會與包含它的那個類的任何對象實例關(guān)聯(lián)在一起。所以,即使從未創(chuàng)建某個類的任何對象,也可以調(diào)用其Static 方法或訪問其Static 數(shù)據(jù)。通常,你必須創(chuàng)建一個對象,并用它來訪問數(shù)據(jù)或方法。因為非Static 數(shù)據(jù)和方法必須知道它們一起運作的特定對象。由于在用Static 方法前,不需要創(chuàng)建任何對象.
in Java example program.
* Displays a string and today's date.
* @author Bruce Eckel
* @author www.BruceEckel.com
* @version 2.0
*/
public class HelloDate {
/** Sole entry point to class & application
* @param args array of string arguments
* @return No return value
* @exception exceptions No exceptions thrown
*/
public static void main(String[] args) {
System.out.println("Hello, it's: ");
System.out.println(new Date());
}
} ///:~
?
轉(zhuǎn)載于:https://blog.51cto.com/xiaomao870311/416880
總結(jié)
以上是生活随笔為你收集整理的java编程思想 学习笔记(2)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小心多任务设计被滥用
- 下一篇: 一点生活随笔