摘要:用構造器保證初始化構造器采用與類相同的名稱。如果已經定義了一個構造器無論是否有參數,編譯器就不會幫你自動創建默認構造器關鍵字關鍵字只能在方法內部使用,表示對調用方法的那個對象的引用。
5.1 用構造器保證初始化
構造器采用與類相同的名稱。構造器是一種特殊類型的方法,因為它沒有返回值
當創建一個對象時,也就是給此對象分配到的存儲空間起了一個名字
5.2 方法重載
為了讓方法名相同而形式參數不同的構造器同時存在,必須使用方法重載。每個重載的方法都必須有一個獨一無二的參數類型列表
基本類型能從一個“較小”的類型自動提升至一個“較大”的類型
根據方法的返回值來區分重載方法是行不通的
5.3 默認構造器
如果你寫的類中沒有構造器,則編譯器會自動幫你創建一個默認的構造器。如果已經定義了一個構造器(無論是否有參數),編譯器就不會幫你自動創建默認構造器
5.4 this 關鍵字
this 關鍵字只能在方法內部使用,表示對“調用方法的那個對象”的引用。只有當需要明確指出對當前對象的引用時,才需要使用 this 關鍵字
除構造器外,編譯器禁止在其他任何方法中調用構造器
static 方法就是沒有 this 的方法,在 static 方法的內部不能調用非靜態方法
5.5 清理:終結處理和垃圾回收
假定你的對象(并非使用 new)獲得了一塊“特殊”的內存區域,由于垃圾回收器只知道釋放那些經由new 分配的內存,所以它不知道該如何釋放該對象的這塊“特殊”內存。為了應對這種情況,Java 允許在類中定義一個名為 finalize()的方法。它的工作原理“假定”是這樣的:一旦垃圾回收器準備好釋放對象占用的存儲空間,將首先調用其 finalize()方法,并且在下一次垃圾回收動作發生時,才會真正回收對象占用的內存
對象可能不被垃圾回收;垃圾回收并不等于“析構”
垃圾回收只與內存有關,使用垃圾回收器的唯一原因是為了回收程序不再使用的內存
之所以要有 finalize(),是由于在分配內存時可能使用了類似 C 語言的做法
System.gc()用于強制進行終結動作
5.6 成員初始化
Java 盡力保證:所有成員在使用之前都能得到恰當的初始化
類的每個基本數據成員保證都會有一個初始值
在類里定義一個對象引用時,如果不將其初始化,此引用就會得到一個特殊值 null
5.7 構造器初始化
無法阻止自動初始化的進行,它將在構造器被調用之前發生
變量定義的先后順序決定了初始化的順序
靜態數據的初始化:無論創建多少個對象,靜態數據都只占用一份內存區域。static 關鍵字不能應用于局部變量,因此他只能作用于域。如果一個域是靜態的基本類型域,且也沒有對它進行初始化,那么它就會獲得基本類型的標準初值;如果它是一個對象引用,那么它的默認初始化值就是 null
靜態初始化只有在必要時才進行
初始化的順序是先靜態對象(如果它們尚未因前面的對象創建過程而被初始化),而后是“非靜態”對象
構造器可以看成靜態方法
靜態初始化動作只進行一次
5.8 數組初始化
編譯器不允許指定數組的大小
在 Java 中可以將一個數組賦值給另一個數組
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/64281.html
摘要:流程控制概述流程控制語句種類順序選擇循環選擇結構結構結構多重結構嵌套結構結構循環結構循環循環循環循環嵌套多重結構與嵌套結構多重結構例子使用多重結構進行成績判斷成績大于等于分,輸出優成績大于等于分且小于分,輸出良成績大于等于分且小 Lecture1 流程控制概述 流程控制語句種類:順序、選擇、循環;選擇結構--if結構、if-else結構、多重if結構、嵌套if結構、switch結構;循...
摘要:封裝的實現封裝將類的某些信息隱藏在類內部,不允許外部程序直接訪問,只能通過該類提供的方法來實現對隱藏信息的操作和訪問即隱藏對象信息的同時要留出訪問的接口封裝的特點只能通過規定的方法訪問數據隱藏類的實例細節,方便修改和實現封裝代碼的實現修改屬 Lecture1 封裝的實現 封裝:將類的某些信息隱藏在類內部,不允許外部程序直接訪問,只能通過該類提供的方法來實現對隱藏信息的操作和訪問(即隱...
摘要:初始面向對象面向對象關注現實存在的事物的各方面信息,從對象的角度出發,根據事物的特征進行程序設計類類是模子,是一個抽象的概念,確定對象將會擁有的特征屬性和行為方法,是具有相同屬性和方法的一組對象的集合對象對象是類的實例化表現,是一個用來描述 Lecture1 初始面向對象 面向對象:關注現實存在的事物的各方面信息,從對象的角度出發,根據事物的特征進行程序設計 類:類是模子,是一個抽象...
摘要:四上的操作看五格式化輸出運用和語言很相似和是等價的喲類格式化說明符轉換六正則表達式網上教程學七掃描輸入新增了類。 一、不可變String String類型的對象是不可變的,所有的改變實際上都是創建了一個新的String對象,另外當String作為傳入參數的時候,其實實際上傳入的是這個引用的一個拷貝,這個方法結束了之后這個傳入的引用也就消失了,原來的那個String不會受到方法內的影響而...
摘要:迭代器解決了這個問題。刪除后于是我們可以寫一個方法,接受一個類型,然后讓他調用方法,這就不需要考慮這個是個還是了,也就是說,可以將遍歷容器的操作與序列底層的結構分離,迭代器統一了對容器類的訪問方式。十二和兩種遍歷的方法,與迭代器方法。 一、泛型和類型安全的容器 package tij.hoding; import java.util.ArrayList; public class ...
閱讀 1605·2021-11-02 14:48
閱讀 3661·2019-08-30 15:56
閱讀 2775·2019-08-30 15:53
閱讀 3216·2019-08-30 14:09
閱讀 3104·2019-08-30 12:59
閱讀 2861·2019-08-29 18:38
閱讀 2698·2019-08-26 11:41
閱讀 2220·2019-08-23 16:45