Java基礎白話文_類,對象爲什麼要實例化?main(String[] args)爲什麼要這麼寫?

本文是Java最最最最最基礎的知識點的,稍微深入的討論!
我覺得初學Java的還是值得一看的
最基礎的JAVAmain函數,包含的知識點你知道多少
**

以下進入主題

**

  • YOU:你這有啥意義?大家不在乎你幾歲,愛喫啥!

  • DOG:好吧,就讓狗狗實力分析一波這段代碼。

  • YOU:請開始你的表演!!!

//package 包名(com.demo); // 這東西到底有什麼用?

//class 類名(Dog) {   // class類在運行時起到什麼作用?
//  int age;    // 它憑啥不能實例化,只需要聲明?
//  String hobby;   // 那hobby能實例化嗎? 
//}
public class JavaBase {
    // 使用JAVA這麼久了,你知道main方法的參數是什麼嗎?不寫或者寫其他的行麼?
    public static void main(String[] args) {    
        Dog dog = new Dog();    //爲什麼必須要實例化?而基本類型不能實例化?
        dog.age = 3;
        dog.hobby = "喫骨頭!";
        System.out.println("實例化Dog對象並賦值!狗狗今年"+dog.age+"歲啦,最大的愛好是"+dog.hobby);
    }
}
  • DOG:其實,這些疑問是我的小女票問的,她初學JAVA,遇到的問題我竟然都沒深究過。(想當初初學JAVA,你愛啥啥,抄起鍵盤就是一頓擼。)
    當時的話,我是想想竭力解釋一番,維護下我身爲高貴種族程序猿的尊嚴。(那時真的不知道啊,當時思考的淺,並沒在意。所有人告訴我的就是就是這麼寫!)
    但越解釋越難受,各種坑填不上,問的我一時語塞。(最終被崩潰的女票狠狠鄙視了一番—你特麼是個假程序猿!!!)
    (´╥ω╥`)無語凝噎~~~(我是誰?JAVA是什麼?我一定是個假的JAVA程序猿。)

  • YOU:你在這虐單身狗呢?老子要撤了~~~

  • DOG:英雄留步啊!小弟學識才淺,還請賜教!

.

…..
哇,走啦?這麼不給面子啊!那好吧,自己挖的坑,說啥也得填上!下面做出解釋!

  • 1、首先說包名的作用。

    Java開發過程中會產生大量的類文件,此時包機制就起到了管理組織的作用。不明白就可以想想摘蘋果。蘋果比作類,那我想要某一個個蘋果,我需要找到對應的枝幹。
    這裏的枝幹就是包的作用。

  • 2、class類作用。

    在Java中,當我們編寫一個類,經由JVM編譯完成後,在生成的.class文件,就會產生一個Class對象,用於表示這個類的類型信息。

  • 3、基本數據類型不能實例化?

    JVM已經給它們一家人賦予了初始值,不勞大家費心了。所以基本數據類型不需要實例化,但可以給他重新賦予初始值。所以String是可以滴。

  • 4、JAVA main(String[] args)方法,爲啥要這麼寫,這個參數是啥?不寫行不?

    首先Java Application 是必須有main方法的。這個main(String[] args)函數JVM已經壟斷了。就像你的名字,少寫一個字還是你嗎?
    雖然main函數不是JVM的名字,但它是入口函數。如果你不寫參數,是運行不了滴。不信可以試試。
    那args可以傳參數嗎?答案是肯定的。不信你去百度!至於如何給args賦值,有兩種方式。一種是CMD命令執行,直接加上參數;二是在IDE(我用的eclipse)
    中run as–>run Confications…–>找到 program arguments,輸入你想傳入的值就好了。(單元單詞沒拼寫錯)

  • 5、對象爲什麼要實例化?

    很明顯,大家都知道對象要實例化,那什麼時候需要實例化?
    書上說類的初始化時機爲“initialize on first active use”,即“在首次主動使用時初始化”。(對象就叫實例化,好吧,大家都這麼叫,你不要搞事情)
    書上說對象實例化有兩種方法,顯示對象創建和隱式對象創建;顯示就是new,太常見了,不羅嗦了。
    爲什麼要實例化?創建對象的目的就是操作對象。而實例化過程就是JVM爲這個對象分配內存空間。這樣這個對象纔有存在的意義。

  • 6、JVM初始化順序

    大概就是這麼個優先級的順序:靜態屬性=靜態代碼塊> 非靜態屬性 = 構造塊> 構造方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章