Java OverView Back

Three main properties of Object-oriented Programming

  • Inheritance(繼承)
  • Encapsulation(封裝)
  • Polymorphism(多態)

Difference between C++ and Java

C++ Java
編譯執行 解釋執行
兼容有C的面向過程 完全面向對象

平臺技術

  • JVM

JVM(Java Virtual Machine): 屏蔽底層接口為上層提供統一接口, 從而實現平臺無關性

  • 字節碼(.class)

字節碼指Java源代碼編譯成機器代碼時的中間代碼

  • 即用即插入

一個.class文件可以引用多個.class文件

  • Java驗證器

    • 類文件認證
    • 類型系統認證
    • 字節碼認證
    • 運行時類型與訪問檢查
  • JIT(just in time)及時編譯技術

及時編譯技術指編譯時先把字節碼轉換成用戶機器的機器碼, 再執行該代碼指令.

Properties of Java

  • 多線程性
  • 健壯性(Garbage Collection, Exception, Strict Type Check)
  • 動態性
  • 安全性
  • 可移植性(平臺無關性)

Some Syntax needed to pay attention to

  • Legal identifiers(合法標識符)

    • 不能以數字開頭
    • 除了_, $, ¥以外, 必須是英文字母或數字
    • 不能是關鍵詞(keyword)
  • Operator(運算符)

    • Java中并没有運算符重載(C++含有該機制): 只能通過添加函數來解決
    • Java中並沒有sizeof(), 因為在JVM的基礎上, 各數據類型的佔用空間是一樣的, 並不需要通過sizeof()來獲取
  • Statement(語句)

    • 無goto語句(C++含有該機制): goto的跳轉影響到代碼的結構性
    • break語句可帶標籤

        label:
        {
            if(some_condition)
                break label;
            //...
        }
      
    • for each語句的引入(C#含有該機制)

        for(int element: a)
            System.out.println(element);
      
        // in c#
        foreach(int element in a)
            Console.WriteLine(element);
      
        for(int element = 0; element < a.size(); element++)
            System.out.println(a[element]);
      
  • BigInteger 和 BigDecimal可以处理任意长度的数值

    BigInteger a = BigInteger.valueOf(100);
    
Empty Comments
Sign in GitHub

As the plugin is integrated with a code management system like GitLab or GitHub, you may have to auth with your account before leaving comments around this article.

Notice: This plugin has used Cookie to store your token with an expiration.