亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

類與對象的問題

背景:類是抽象的,對象是具體的。

代碼

public?class?Order{
????private?Item?i?=?new?Item();
}
class?Item{}

問題:首先說明的是我非常清楚應該怎么使用,對使用沒有任何問題。

以上代碼中,class Order這個時候是一個抽象的類,并沒有實例化。而在Order的成員變量中有一個具體的Item對象i,同時另外一個背景是:成員變量應盡量初始化而不使用默認的初始值。那么問題就是:一個抽象的概念里面,為什么會有一個具體的對象,這樣子當我實例化Order對象的時候,該對象的Item成員變量是類里面的i的引用,還是每一個具體的實例化,都重新new了一個Item對象?這個時候的 class Order的成員變量Item在內存中存放的具體是什么?是一個NULL引用?還是什么?

正在回答

5 回答

屬性你初始化不賦值的話默認null.你的這些問題你看視屏里應該比我說的清楚。首先創建一個包吧

在這個包里面我定義了一個Car類(車)而我在這個包里面我又定義了一個小型汽車類。然后我在定義個大型汽車類在這三個類中都有各自屬性和方法。而這些類型的汽車是不是都屬于car這個類。也就是主類。我寫程序在car中要想用小型汽車這個類里的屬性和方法是不是先要 ? ? 小型汽車 ?變量名=new 小型汽車();才可以用這個類里面的屬性和方法 。

0 回復 有任何疑惑可以回復我~
#1

Antique 提問者

感謝耐心回答。 是的,這個例子非常的明顯。用法是這樣的沒錯,不過我糾結的是,Car里面有一個小型汽車實例,那么我之后所有的new Car()創建的對象,每一個對象里是否都有一個小型汽車實例?這些小型汽車實例是同一個對象的不同的引用,還是每個Car對象中都有不同的具體的小型汽車對象。
2017-09-06 回復 有任何疑惑可以回復我~
#2

Antique 提問者

這個問題已經解決, 是我想復雜了,確實其實很簡單的東西,類里面有個引用,很簡單的東西。。
2017-09-07 回復 有任何疑惑可以回復我~

我現在算是職場小白。每天在補這些基礎

0 回復 有任何疑惑可以回復我~

是的 new只有這個作用 沒別的 到最后你用框架都不用new了懂怎么用就行了


0 回復 有任何疑惑可以回復我~
#1

Antique 提問者

我是最近在補充JVM的東西,才會來看這些,需要非常清楚每個東西在內存放在什么位置,虛擬機怎么用,不然單純用其實還是很簡單的
2017-09-08 回復 有任何疑惑可以回復我~

類里有屬性和方法 屬性 :張三 ?有年齡,名字 這就叫屬性。方法就是能做什么事。就比如張三能吃飯睡覺

而你說的 void zhangsan(){

System,out.println(“張三只會吃飯睡覺”);

}

你本身的寫法就錯了,你寫錯的 那個是內部類

0 回復 有任何疑惑可以回復我~
#1

Antique 提問者

內部類我覺得這里還沒有要用到。不理解的是屬性是引用數據類型的時候,這個屬性在初始化的時候是什么。還望賜教
2017-09-06 回復 有任何疑惑可以回復我~

首先你寫的這個是什么東西,類是抽象的不錯,就拿人一樣,張三,李四都是屬于人。而統稱位抽象的人類。但是我想把張三從這個人里面具體的實例化后才可以用這個對象。說白了對象就是類的實例化具體表現。人類是一個抽象的類。而張三是屬于這個類。我們要使用這個類里的張三我們先要實例化這個張三也就是創建這個張三對象

0 回復 有任何疑惑可以回復我~
#1

Antique 提問者

我這個Demo想表達的意思是:類的成員變量可以為普通數據類型(也就是8大數據類型),也可以是引用數據類型(數組或者對象),用你的Demo來表述的話應該是:Person()類有成員變量 double heigh用來表示身高,這個我覺得非常容易理解,Person()類同時還可以有成員變量 Heart h = new Heart(); 用來表示人的心臟(這里抽象成個類),我不理解的是,類的成員變量雖然默認會初始化(但是不建議這么做),那么我們要在Person中實例化Heart對象,一個抽象的Person中會有一個具體的Heart對象h,這個感覺不太能理解。
2017-09-06 回復 有任何疑惑可以回復我~
#2

Antique 提問者

同時每一個具體的Person對象中,都會有一個具體的Heart對象,比如張三對象在堆內存中會開辟一個空間存放它的Heart對象的引用,那么在類中,這個Heart又是以什么形式存在,NULL?
2017-09-06 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531146    人
  • 解答問題       6326    個

課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙

進入課程

類與對象的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號