Java 編程思想 02—一切都是對象(基礎知識點)

來源:互聯網
上載者:User
1.儘管java是基於C++的,但是相比之下,java是一種更純粹物件導向程式設計語言。2.一切都被視作對象

儘管一切都看做對象,但操作的標識符實際上是對象的一個引用,可以將這個情形想象成遙控器和遙控之間的關係。用遙控器(引用)來操作電視機(對象)。沒有電視機,遙控器也可獨立存在。

3.儲存到什麼地方?

寄存器:這是最快的儲存區,因為它位於處理器內部,但是數量有限。

堆棧:位於通用RAM(隨機訪問儲存區),但是可以通過堆棧指標從處理器那裡獲得直接支援。堆棧指標若向下移動則分配新的記憶體,若向上移動則釋放哪些記憶體。

堆:一種通用的記憶體池(位於RAM區),用於存放所有的Java對象。

常量儲存:直接放在代碼內部。

非RAM儲存:流對象:對象轉換為位元組流,通常被發送給另一台機器。持久化對象:對象被存放在磁碟上,即使程式終止,他們仍然可以保持自己的狀態。

4.Java基本類型

基本類型

大小(bit)

範圍

封裝類

boolean

---

---

Boolean

character

16

0à216

Character

byte

8

-128à127

Byte

short

16

-216à(216-1)

Short

int

32

-232à(232-1)

Integer

long

64

-264à(264-1)

Long

float

32

-232à(232-1)

Float

double

64

-264à(264-1)

Double

void

---

---

 

5.高精度數字

Java提供了兩個用於高精度計算的類BigInteger和BigDecimal。

BigInteger支援任意精度的整數,在運算中可以準確的表示任何大小的整數值而不會丟失任何資訊。

BigDecimal支援任意精度的定點數。

6.java的數組

Java的主要目標之一是安全性,java確保他的數組會被初始化,而且不能在他的範圍之外訪問。這種範圍檢查,是以每個數組少量的記憶體開銷和運行時的下標檢查為代價的。但由此換來的是安全性和效率的提高。所以付出這些代價是值得的。

7.永遠不需要銷毀對象。

儘管以下代碼在C++與C中是合法的,但是在Java裡是不允許的。

{

         intx = 12;

         {

                   intx = 23;//illegal

         }

}

Java有一個記憶體回收機制,用來監視用New關鍵字建立的所有對象,並辨別那些不再會被引用的對象。你只要建立對象,一旦不再需要他們會自行消失。

8.基本成員預設值

若類的某個成員是基礎資料型別 (Elementary Data Type),即使沒有初始化,java也會確保他有一個初值。但是這種情況只有在變數作為類的成員的時候。如果作為類的方法的話,編譯會報錯。

其他的預設值不是為null,就是為0,要麼就是false。就不說了。

9.對象調用方法被稱為發送訊息給對象。10.java最強大的優勢之一是它具有龐大的標準類庫集。(下面是一個小例子)
package Chapter02;public class Demo01 {    public static void main(String[] args) {        System.getProperties().list(System.out);        System.out.println("*" + System.getProperty("user.name"));        System.out.println("*" + System.getProperty("java.library.path"));    }}
11.編譯和運行

javac Demo.java

java Demo

12.注釋(重點)範例一:

package Chapter02;//: object/HelloDate.javaimport java.util.*;/** * The first Thinking in java example program. *  * Displays a String and today`s date. */public class HelloDate {/** * Entry point to class & application. *  * @param args *            array of string arguments */public static void main(String[] args) {System.out.println("Hello, it`s:");System.out.println(new Date());}}/* * Output: (55% match) *  * Hello,it`s: *  * Wed Oct 05 14:39:36 MDT 2005 */// :~
 範例二:

package Chapter02;/** 一個注釋示範類 */public class Demo02 {/** 一個變數 */public int x;/** @author 王玉超 *//** * @param a *            參數a * @param b *            參數b * @return 空 * @version 1.0 * @throws <h1>html測試</h1>拋出異常 * @see 引用其他類 * @exception null異常 * @since 指定程式碼最早使用的版本,java文檔中它被用來指定所用的JDK版本情況。 */public void function(int a, int b) {}/** * @deprecated  *             指出一些舊特性已由改進的新特性所取代,建議使用者不要再使用這些舊特性,因為將來它們可能會被刪除。使用標記為@deprecated的方法, *             編譯器會發布警告 */}
13.編碼風格

由於我本人學這個學的太多了,所以不說了。主要簡單就概括為“駝峰風格”。因為這個比較標準。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.