最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中的對象和對象引用實例淺析

 更新時間:2015年05月28日 10:49:12   作者:海 子  
這篇文章主要介紹了Java中的對象和對象引用,實例分析了對象與對象引用的概念與相關(guān)使用技巧,需要的朋友可以參考下

本文實例講述了Java中的對象和對象引用。分享給大家供大家參考。具體分析如下:

在Java中,有一組名詞經(jīng)常一起出現(xiàn),它們就是“對象和對象引用”,很多朋友在初學Java的時候可能經(jīng)常會混淆這2個概念,覺得它們是一回事,事實上則不然。今天我們就來一起了解一下對象和對象引用之間的區(qū)別和聯(lián)系。

1.何謂對象?

在Java中有一句比較流行的話,叫做“萬物皆對象”,這是Java語言設計之初的理念之一。要理解什么是對象,需要跟類一起結(jié)合起來理解。下面這段話引自《Java編程思想》中的一段原話:

“按照通俗的說法,每個對象都是某個類(class)的一個實例(instance),這里,‘類'就是‘類型'的同義詞?!?/p>

從這一句話就可以理解到對象的本質(zhì),簡而言之,它就是類的實例,比如所有的人統(tǒng)稱為“人類”,這里的“人類”就是一個類(物種的一種類型),而具體到每個人,比如張三這個人,它就是對象,就是“人類”的實例。

2.何謂對象引用?

我們先看一段話:

“每種編程語言都有自己的數(shù)據(jù)處理方式。有些時候,程序員必須注意將要處理的數(shù)據(jù)是什么類型。你是直接操縱元素,還是用某種基于特殊語法的間接表示(例如C/C++里的指針)來操作對象。所有這些在 Java 里都得到了簡化,一切都被視為對象。因此,我們可采用一種統(tǒng)一的語法。盡管將一切都“看作”對象,但操縱的標識符實際是指向一個對象的“引用”(reference)?!薄 ?/p>

這段話來自于《Java編程思想》,很顯然,從這段話可以看出對象和對象引用不是一回事,是兩個完全不同的概念。舉個例子,我們通常會用下面這一行代碼來創(chuàng)建一個對象:

Person person = new Person("張三");

有人會說,這里的person是一個對象,是Person類的一個實例。

也有人會說,這里的person并不是真正的對象,而是指向所創(chuàng)建的對象的引用。

到底哪種說法是對的?我們先不急著糾結(jié)哪種說法是對的,再看兩行代碼:

Person person;
person = new Person("張三");

這兩行代碼實現(xiàn)的功能和上面的一行代碼是完全一樣的。大家都知道,在Java中new是用來在堆上創(chuàng)建對象用的,如果person是一個對象的話,那么第二行為何還要通過new來創(chuàng)建對象呢?由此可見,person并不是所創(chuàng)建的對象,是什么?上面的一段話說的很清楚,“操縱的標識符實際是指向一個對象的引用”,也就是說person是一個引用,是指向一個可以指向Person類的對象的引用。真正創(chuàng)建對象的語句是右邊的new Person("張三");

再看一個例子:

Person person;
person = new Person("張三");
person = new Person("李四");

這里讓person先指向了“張三”這個對象,然后又指向了“李四”這個對象。也就是說,Person person,這句話只是聲明了一個Person類的引用,它可以指向任何Person類的實例。這個道理就和下面這段代碼一樣:

int a;
a=2;
a=3;

這里先聲明了一個int類型的變量a,先對a賦值為2,后面又賦值為3.也就是說int類型的變量a,可以讓它的值為2,也可以為3,只要是合法的int類型的數(shù)值即可。

也就是說,一個引用可以指向多個對象,而一個對象可不可以被多個引用所指呢?答案當然是可以的。

比如:

Person person1 = new Person("張三");
Person person2 = person1;

person1和person2都指向了“張三”這個對象。

關(guān)于對象和對象引用的區(qū)別和聯(lián)系暫時就講這么多了,感興趣的朋友可以查閱相關(guān)文檔和資料。

希望本文所述對大家的java程序設計有所幫助。

相關(guān)文章

  • 什么是RESTful?API,有什么作用

    什么是RESTful?API,有什么作用

    提到RESTful?API大家勢必或多或少聽說過,但是什么是RESTful?API??如何理解RESTful?API?呢?今天咱們就來聊聊這個RESTful?API
    2023-11-11
  • 基于SpringBoot多線程@Async的使用體驗

    基于SpringBoot多線程@Async的使用體驗

    這篇文章主要介紹了SpringBoot多線程@Async的使用體驗,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 詳解Spring mvc DispatchServlet 實現(xiàn)機制

    詳解Spring mvc DispatchServlet 實現(xiàn)機制

    本篇文章主要介紹了詳解Spring mvc DispatchServlet 實現(xiàn)機制,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 將InputStream轉(zhuǎn)化為base64的實例

    將InputStream轉(zhuǎn)化為base64的實例

    這篇文章主要介紹了將InputStream轉(zhuǎn)化為base64的實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • springboot添加多數(shù)據(jù)源的方法實例教程

    springboot添加多數(shù)據(jù)源的方法實例教程

    這篇文章主要給大家介紹了關(guān)于springboot添加多數(shù)據(jù)源方法的相關(guān)資料,在實際開發(fā)中經(jīng)??赡苡龅皆谝粋€應用中可能要訪問多個數(shù)據(jù)庫多的情況,需要的朋友可以參考下
    2023-09-09
  • mybatis plus 自動轉(zhuǎn)駝峰配置小結(jié)

    mybatis plus 自動轉(zhuǎn)駝峰配置小結(jié)

    SpringBoot提供兩種配置Mybatis的方式,第一種是通過yml或application.properties文件開啟配置,第二種是使用自定義配置類,通過給容器添加一個ConfigurationCustomizer來實現(xiàn)更靈活的配置,這兩種方法可以根據(jù)項目需求和個人喜好選擇使用
    2024-10-10
  • java注解的全面分析

    java注解的全面分析

    這篇文章主要介紹了java注解的全面分析的相關(guān)資料,Java提供的一種原程序中的元素關(guān)聯(lián)任何信息和任何元數(shù)據(jù)的途徑和方法,需要的朋友可以參考下
    2017-08-08
  • 基于Cookie與Session的Servlet?API會話管理操作

    基于Cookie與Session的Servlet?API會話管理操作

    這篇文章主要為大家介紹了基于Cookie與Session的Servlet?API會話管理操作詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Java8中List轉(zhuǎn)換String字符串幾種方式

    Java8中List轉(zhuǎn)換String字符串幾種方式

    這篇文章主要給大家介紹了關(guān)于Java8中List轉(zhuǎn)換String字符串的幾種方式,在實際開發(fā)中經(jīng)常遇到List轉(zhuǎn)為String字符串的情況,文中給出了幾種方法的示例代碼,需要的朋友可以參考下
    2023-07-07
  • SpringBoot+SpringBatch+Quartz整合定時批量任務方式

    SpringBoot+SpringBatch+Quartz整合定時批量任務方式

    這篇文章主要介紹了SpringBoot+SpringBatch+Quartz整合定時批量任務方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評論

丰都县| 永康市| 镶黄旗| 顺昌县| 德州市| 广汉市| 仙桃市| 连江县| 巴彦淖尔市| 雷波县| 平罗县| 威信县| 台北市| 杂多县| 田东县| 五大连池市| 新民市| 芷江| 静宁县| 黄陵县| 万源市| 成武县| 车致| 昭通市| 郓城县| 博湖县| 衡山县| 徐州市| 麻江县| 新邵县| 沙雅县| 海盐县| 宁明县| 财经| 天台县| 资中县| 顺义区| 将乐县| 平南县| 元江| 双城市|