android構(gòu)造方法的作用
android構(gòu)造方法的作用
構(gòu)造方法是一種特殊的方法,它是一個(gè)與類同名且沒有返回值類型的方法。下面是學(xué)習(xí)啦小編為大家整理的一篇.android構(gòu)造方法的作用,希望能幫助到大家。
android構(gòu)造方法的作用(一)
1、對(duì)于xml布局方式的都調(diào)用
Context context, AttributeSet attrs這兩個(gè)參數(shù)的構(gòu)造函數(shù)
2、android的view構(gòu)造函數(shù)有三個(gè)
3、只有參數(shù)Context context:這一般都是在程序中直接new 一個(gè)view的時(shí)候會(huì)使用
4、有2個(gè)參數(shù)Context context, AttributeSet attrs:xml布局方式加載使用,程序中new的方式創(chuàng)建view的方式基本不會(huì)使用
5、三個(gè)參數(shù)Context context, AttributeSet attrs,Style style:這個(gè)構(gòu)造函數(shù)暫時(shí)沒用
android構(gòu)造方法的作用(二)
1.構(gòu)造方法作用:(1).構(gòu)造出來一個(gè)類的實(shí)例 (2).對(duì)構(gòu)造出來個(gè)一個(gè)類的實(shí)例(對(duì)象)初始化。
2.構(gòu)造方法的名字必須與定義他的類名完全相同,沒有返回類型,甚至連void也沒有。
3.主要完成對(duì)象的初始化工作,構(gòu)造方法的調(diào)用是在創(chuàng)建一個(gè)對(duì)象時(shí)使用new操作進(jìn)行的。
4.類中必定有構(gòu)造方法,若不寫,系統(tǒng)自動(dòng)添加無參構(gòu)造方法。接口不允許被實(shí)例化,所以接口中沒有構(gòu)造方法。
5.不能被static、final、synchronized、abstract和native修飾。
6.構(gòu)造方法在初始化對(duì)象時(shí)自動(dòng)執(zhí)行,一般不能顯式地直接調(diào)用.當(dāng)同一個(gè)類存在多個(gè)構(gòu)造方法時(shí),java編譯系統(tǒng)會(huì)自動(dòng)按照初始化時(shí)最后面括號(hào)的參數(shù)個(gè)數(shù)以及參數(shù)類型來自動(dòng)一一對(duì)應(yīng)。完成構(gòu)造函數(shù)的調(diào)用。
7.構(gòu)造方法分為兩種:無參構(gòu)造方法 有參構(gòu)造方法
構(gòu)造方法可以被重載。沒有參數(shù)的構(gòu)造方法稱為默認(rèn)構(gòu)造方法,與一般的方法一樣,構(gòu)造方法可以進(jìn)行任何活動(dòng),但是經(jīng)常將他設(shè)計(jì)為進(jìn)行各種初始化活動(dòng),比如初始化對(duì)象的屬性。
8.構(gòu)造代碼塊:
(1)作用:給對(duì)象進(jìn)行初始化,對(duì)象一建立就執(zhí)行,而且優(yōu)先于構(gòu)造函數(shù)執(zhí)行
(2)構(gòu)造代碼塊和構(gòu)造函數(shù)的區(qū)別:
構(gòu)造代碼塊是給所有不同對(duì)象的共性進(jìn)行統(tǒng)一初始化,構(gòu)造函數(shù)是給對(duì)應(yīng)的對(duì)象進(jìn)行初始化
android構(gòu)造方法的作用(三)
第一層:Linux操作系統(tǒng)和驅(qū)動(dòng)(Linux kernel):由C語言實(shí)現(xiàn)。
Android核心系統(tǒng)服務(wù)依賴于Linux2.6內(nèi)核,包括:安全性、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議、驅(qū)動(dòng)模型。Linux內(nèi)核也作為硬件和軟件棧之間的抽象層。
除了標(biāo)準(zhǔn)的Linux內(nèi)核外,Android還增加了內(nèi)核的驅(qū)動(dòng)程序:Binder(IPC)驅(qū)動(dòng)、顯示驅(qū)動(dòng)、輸入設(shè)備驅(qū)動(dòng)、音頻系統(tǒng)驅(qū)動(dòng)、攝像頭驅(qū)動(dòng)、WiFi驅(qū)動(dòng)、藍(lán)牙驅(qū)動(dòng)、電源管理。
第二層:本地框架和Java運(yùn)行環(huán)境(LIBRARIES 和 ANDROID RUNTIME)
本地框架是有C/C++實(shí)現(xiàn)。包含C/C++庫,被Android系統(tǒng)中不同組件使用,它們通過Android應(yīng)用程序框架為開發(fā)者進(jìn)行服務(wù)。
系統(tǒng)C庫:(libc)從BSD繼承過來的標(biāo)準(zhǔn)的C系統(tǒng)函數(shù)庫,專門是為基于嵌入式Linux的設(shè)備定制的庫。
多媒體庫:基于PackerVideo的OpenCore;該庫支持多種常用的音頻、視頻格式回放和錄制,支持多種媒體格式的編和解碼格式。
Suface Manager:顯示子系統(tǒng)管理器,并且為多個(gè)應(yīng)用程序提供2D和3D圖層的無縫融合。
LibWebCore:一個(gè)最新的Web瀏覽器引擎,支持Android瀏覽器,以及一個(gè)可嵌入式的Web視圖。
SGL:Skia圖形庫,底層的2D圖形引擎。
3D libraries:基于OpenGL ES1.0 API的實(shí)現(xiàn);該庫可以使用硬件3D加速(如果可用),或者使用高度優(yōu)化的3D軟加速。
FreeType:位圖(bitmap)和矢量(vector)字體顯示。
Android運(yùn)行環(huán)境(ANDROID RUNTIME):提供了Java編程語言核心庫的大多數(shù)功能,由Dalvik Java虛擬機(jī)和基礎(chǔ)的Java類庫組成。
Dalvik是Android中使用的Java虛擬機(jī),每個(gè)Android應(yīng)用程序都在自己的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú)立的Dalvik虛擬機(jī)實(shí)例。
~ 1 / 2 ~
Dalvik被設(shè)計(jì)成一個(gè)可以同時(shí)高效運(yùn)行多個(gè)虛擬機(jī)實(shí)例的虛擬系統(tǒng)。執(zhí)行后綴名為.dex的Dalvik可執(zhí)行文件,該格式的文件
針對(duì)小內(nèi)存使用做出了優(yōu)化。同時(shí)虛擬機(jī)是基于寄存器的,所有的類都是有Java編譯器編譯,然后通過SDK中的“dx”工具
轉(zhuǎn)化為.dex格式由虛擬機(jī)執(zhí)行。
Dalvik虛擬機(jī)依賴于Linux內(nèi)核的一些功能,比如線程機(jī)制和底層內(nèi)存管理機(jī)制。
第三層:Android應(yīng)用框架(ANDROID FRAMEWORK)