中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java學習————對象和類

發布時間:2020-07-23 03:29:05 來源:網絡 閱讀:160 作者:tom_fn 欄目:編程語言

面向過程的結構化程序設計


Java學習————對象和類



結構化程序的弊端:

1.缺乏對數據的封裝;

2.數據和方法(對數據的操作)的分離。


什么是抽象數據類型

  • 所謂抽象數據類型可以理解為:將不同類型的數據的集合組成一個整體用來描述一種新的事物;

? ? Java學習————對象和類


什么是類

  • 類定義了一種抽象數據類型。

  • 類不但定義了抽象數據類型的組成(成員變量),同時還定義了可以對該類型實施的操作(方法)。

/**定義雇員類*/
public?class?Emp{
??String?name;
??int?age;
??char?gender;
??double?salary;
??}

在此示例中,僅僅定義了Emp類型的組成,即成員變量。該類定義了4個成員變量:String類型的name用于存放名字;int類型的age用于存放年齡;char類型的gender用于存放性別;double類型的salary用于存放工資。


  • 定義了Emp類以后,提升了代碼的模塊化以及代碼的重用性,但程序依然存在問題

  • -打印信息的方法是只能針對Emp數據操作,屬于Emp自身的方法,需要實現數據和方法(對該類數據的操作)的統一。



定義類的成員變量

  • 類的定義包括“成員變量”的定義和“方法”的定義,其中“成員變量”用于描述該類型對象共同的數據結構。

  • Java語言中,類的成員變量的定義可以使用如下語法:

? ? ? ? ? ? class? 類名{

? ? ? ? ? ? ? ? 成員變量類型? 變量名稱;

? ? ? ? ? ? ? ? ? ... ... ...

? ? ? ? ? ? ? ? }

  • 對象創建后,其成員變量可以按照默認的方式初始化。

  • 初始化對象成員變量時,其默認值的規則如下表所示:

成員變量的類型默認初始值

數值類型(byte、shout、int、long、float、double)

0
boolean型false
char型/u0000
引用類型null

定義類的方法

  • 類中除了定義成員變量,還可以定義方法,用于描述對象的行為,封裝對象的功能。

  • Java語言中,可以按照如下方式定義類中的方法:

? ? ? ? ? ?class? 類名{

? ? ? ? ? ? ? ? 修飾詞? 返回值類型? 方法名稱([參數列表]) {

? ? ? ? ? ? ? ? ? ?方法體... ... ...

? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ?... ... ...

? ? ? ? ? ? }



使用new關鍵字創建對象

  • 類定義完成后,可以使用new關鍵字創建對象。創建對象的過程稱為實例化。

  • new運算的語法為:

? ? ? ?new? 類名();

? ? ? ?例如:new JFrame()可以創建一個窗體對象。

Java學習————對象和類



引用類型變量

  • 為了能夠對實例化的對象進行訪問控制,需要使用一個特殊的變量——引用。

  • -引用類型變量可以存放該類對象的地址信息,通常稱為“指向該類的對象”;當一個引用類型變量指向該類的對象時,就可以通過這個變量對對象實施訪問。

  • -除8種基本類型外,用類、接口、數組等聲明的變量都稱為引用型變量,簡稱“引用”。

  • ?Java學習————對象和類


訪問對象的成員變量、調用方法

  • 可以通過引用訪問對象的成員變量或調用方法。

??????Cell?c?=?new?Cell();
??????
??????c.row?=?2;
??????c.col?=?3;
??????
??????c.drop();
??????c.moveLeft(2);
??????String?str?=?c.getCellInfo();



引用類型變量的賦值

  • 引用類型變量存儲的是對象的地址信息。相同類型的引用類型變量之間也可以相互賦值。

  • 引用類型變量之間的賦值不會創建新的對象,但有可能會使兩個以上的引用指向同一個對象。

??????????Emp?e1?=?new?Emp();
??????????Emp?e2?=?e1;????//將e1的值(對象的地址信息)賦給e2,e2和e1只想相同的對象。
??????????e1.name?=?"黃河大蝦";
??????????e2.name?=?"白發饃女";
??????????System.out.println(e1.name);

通過引用e1和e2操作的是相同的對象



null和NullPointerException

  • 對于引用類型變量,可以對其賦值為null。null的含義為“空”,表示還沒有指向任何對象。例如:

????Emp?emp?=?null;????//引用emp中的值為null,沒有任何對象;
????emp?=?new?Emp();????//引用emp指向了一個Emp對象;
  • 當一個引用的值為null的時候,如果通過引用訪問對象成員變量或者調用方法是不合邏輯的。此時,會產生NullPointerException.例如:

????
????JFrame?frame?=?null;
????frame.setSize(200,300);

會產生NullPointerException




向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

晋城| 台安县| 分宜县| 香格里拉县| 金山区| 绍兴市| 天津市| 鱼台县| 巴楚县| 翁源县| 绍兴县| 鲜城| 江油市| 昌图县| 龙海市| 桃园市| 伊通| 塘沽区| 鄂托克旗| 凌源市| 安阳市| 彝良县| 白沙| 新竹县| 井陉县| 东城区| 乳源| 工布江达县| 永春县| 都江堰市| 南郑县| 渭南市| 蓬莱市| 太谷县| 台中县| 凤凰县| 光泽县| 米林县| 泰安市| 潞西市| 黔西县|