亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

如何在Java中引用數據類型

發布時間:2020-11-26 15:45:16 來源:億速云 閱讀:286 作者:Leah 欄目:編程語言

如何在Java中引用數據類型?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

Java中的引用數據類型:

Java作為面向對象的語言,Java中所有用class,interface,abstract class定義的都屬于Java的引用數據類型。

如何理解Java中的基本數據類型和引用數據類型:

1.Java的基本數據類型是由Java語言本身提供的數據類型,不需要用戶自己定義;

2.Java中的引用數據類型則是由用戶自己定義的,而引用數據類型的定義需要用到基本數據類型;

3.從內存關系上來說:

Java的的內存分為兩大塊:棧內存和堆內存

棧內存負責存儲方法中的基本數據類型變量和對象的引用變量

堆內存負責存儲通過new關鍵字產生的數據,也就是new關鍵字后面的類中的屬性和方法。

Java中基本數據類型存儲在棧內存中,而引用數據類型的類型名存儲在棧內存中,但是引用數據類型的內容則存儲在堆內存中。兩者之間通過地址來連接,實現互相的訪問。

如何在Java中引用數據類型

4.數據由小范圍往大范圍轉換時,JVM會自動幫我們實現類型的轉換。比如:int i=10;long l=i;類似于這樣的數據轉換,Java的虛擬機可以自動幫我們來完成這個工作。但是當數據由大范圍往小范圍轉換時就需要手動的加上強制類型轉換。如果在轉過程中出現數據的溢出則根據小范圍的數據類型的值域進行變動。比如說把整形的-129賦值給byte這時候輸出byte的值就是127;如果把整形的128賦值給byte類型,那么輸出的就應該是-128。

Java中的參數傳遞:

基本數據類型:

public void test1(){
  int i=10;
  long l;
  l=i;
  System.out.println(i);//輸出值10
  System.out.println(l);//輸出值10
  l=i+1;
  System.out.println(i);//輸出值10
  System.out.println(l);//輸出值11
 }

由于基本數據類型是變量名與變量值一同存儲在棧內存中,i 和 l 這兩個變量是互相獨立的,對 l 的賦值操作并不會影響 i 值。

引用數據類型:

public class Book {
 private String name;

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }
}
public class Test {
 public static void main(String[] args) {
  Book book1=new Book();
  book1.setName("《百年孤獨》");
  Book book2=new Book();
  book2.setName("《圍城》");
  System.out.println("book1:"+book1.getName());//輸出:book1:《百年孤獨》
  System.out.println("book2:"+book2.getName());//輸出:book2:《圍城》
  book1=book2;
  book1.setName("《活著》");
  System.out.println("book1:"+book1.getName());//輸出:book1:《活著》
  System.out.println("book2:"+book2.getName());//book2:《活著》

 }
}

如何在Java中引用數據類型

第一次new了兩個對象分別是book1,book2他們的書名分別是“百年孤獨”和“圍城”。然后通過賦值,book1也指向了與book2一樣的內存區域,這時無論是對book1 還是book2 進行操作影響的都是同一塊內存區域了。這也就是為什么后面的輸出都是一樣的原因了。另外book1原先開辟的內存空間由于沒有使用,JVM的垃圾回收機制會對其進行處理,將這些不用的內存空間進行釋放。

關于如何在Java中引用數據類型問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

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

AI

太谷县| 芮城县| 牡丹江市| 寿宁县| 广德县| 开原市| 葫芦岛市| 正蓝旗| 澳门| 辰溪县| 商河县| 彰化县| 东源县| 嫩江县| 华容县| 四平市| 吉水县| 肃南| 延庆县| 凤山县| 白河县| 顺平县| 嵊泗县| 民县| 平顶山市| 江口县| 平乐县| 剑阁县| 郸城县| 宁化县| 乌拉特前旗| 靖宇县| 杭州市| 海兴县| 苍溪县| 鹤峰县| 卢龙县| 墨竹工卡县| 修文县| 陈巴尔虎旗| 白沙|