摘要:創建對象的根本途徑是構造器,通過關鍵字來調用某個類的構造器即可創建這個類的實例。根據出現的位置不同,作為對象的默認引用有兩種情形。
創建對象的根本途徑是構造器,通過new關鍵字來調用某個類的構造器即可創建這個類的實例。
Person p; p = new Person(); //也可以在定義p變量的同時并為p變量賦值 Person p = new Person();
創建對象之后,接下里即可使用該對象了,Java的對象大致有如下作用:
訪問對象的實例變量
調用對象的方法
static修飾的方法和成員變量,既可以通過類來調用,也可以通過實例來調用;沒有使用static修飾的普通方法和成員變量,只可通過實例來調用。
對象、引用和指針在上面的代碼中,Person p = new Person();這行代碼創建了一個Person實例,也被稱為Person對象,這個Person對象被賦給p變量。
p引用變量本身只存儲了一個地址值,并未包含任何實際數據,但它指向實際的Person對象,當訪問p引用變量的成員和方法時,實際上是訪問p所引用的對象的成員變量和方法。
Java提供了一個this關鍵字,this關鍵字總是指向調用該方法的對象。根據this出現的位置不同,this作為對象的默認引用有兩種情形。
構造器中引用該構造器正在初始化的對象。
在方法中引用調用該方法的對象。
this可以代表任何對象,當this出現在某個方法體中,它所代表的對象是不確定的,但它的類型是確定的:它所代表的只能是當前類的實例;只有當這個方法被調用時,它所代表的對象才被確定下來--誰在調用這個方法,this就代表誰。
大部分時候,一個方法訪問該類中定義的其他方法、成員變量時加不加this前綴的效果是完全一樣的。
對于static修飾的方法而言,則可以使用類來直接調用該方法,如果在static修飾的方法中使用this關鍵字,則這個關鍵字就無法找到合適對象。所以static修飾的方法中不能使用this引用。即靜態成員補不能直接訪問非靜態成員
如果確實需要在靜態方法中訪問一個普通方法,則只能重新創建一個對象。
大部分時候,普通方法訪問其他方法、成員變量時無需使用this前綴,但如果方法里有個局部變量和成員變量同名,但程序又需要在該方法里訪問這個被覆蓋的成員變量,則必須使用this前綴。
使用this作為方法的返回值可以讓代碼更加簡潔,但可能造成實際意義的模糊。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76311.html
摘要:使用靜態類體現的是基于對象,而使用單例設計模式體現的是面向對象。二編寫單例模式的代碼編寫單例模式的代碼其實很簡單,就分了三步將構造函數私有化在類的內部創建實例提供獲取唯一實例的方法餓漢式根據上面的步驟,我們就可以輕松完成創建單例對象了。 前言 只有光頭才能變強 回顧前面: 給女朋友講解什么是代理模式 包裝模式就是這么簡單啦 本來打算沒那么快更新的,這陣子在刷Spring的書籍。在看...
摘要:一切都是對象之前自己學習就是以系統的角度去學習,就是我們把這些知識點羅列出來,然后做一個全面的學習。按照面向對象的思想,一切都是對象,不管什么數據都應該是對象,但是對于一些基礎的數據類型為了運行效率和內存的優化,將個基本類型進行了特殊處理。 一切都是對象 之前自己學習Java就是以系統的角度去學習,就是我們把這些知識點羅列出來,然后做一個全面的學習。這樣的的確確可以將知識點都學習全面,...
Java? 教程 Java教程是為JDK 8編寫的,本頁面中描述的示例和實踐沒有利用在后續版本中引入的改進。 Java教程是希望使用Java編程語言創建應用程序的程序員的實用指南,其中包括數百個完整的工作示例和數十個課程,相關課程組被組織成教程。 覆蓋基礎知識的路徑 這些教程以書籍的形式提供,如Java教程,第六版,前往Amazon.com購買。 入門 介紹Java技術和安裝Java開發軟件并使用...
摘要:另外,為了線程切換后能恢復到正確的執行位置,每條線程都需要有一個獨立的程序計數器,各線程之間計數器互不影響,獨立存儲,我們稱這類內存區域為線程私有的內存。運行時常量池運行時常量池是方法區的一部分。 寫在前面(常見面試題) 基本問題: 介紹下 Java 內存區域(運行時數據區) Java 對象的創建過程(五步,建議能默寫出來并且要知道每一步虛擬機做了什么) 對象的訪問定位的兩種方式(句...
摘要:內存泄漏總結內存管理的目的就是讓我們在開發中怎么有效的避免我們的應用出現內存泄漏的問題。在中,內存泄漏的范圍更大一些。 Android 內存泄漏總結 內存管理的目的就是讓我們在開發中怎么有效的避免我們的應用出現內存泄漏的問題。內存泄漏大家都不陌生了,簡單粗俗的講,就是該被釋放的對象沒有釋放,一直被某個或某些實例所持有卻不再被使用導致 GC 不能回收。最近自己閱讀了大量相關的文檔資料,打...
閱讀 2027·2021-11-19 11:37
閱讀 715·2021-11-11 16:54
閱讀 1161·2021-11-02 14:44
閱讀 3049·2021-09-02 15:40
閱讀 2368·2019-08-30 15:44
閱讀 951·2019-08-29 11:17
閱讀 1059·2019-08-26 14:06
閱讀 1552·2019-08-26 13:47