學(xué)習(xí)啦 > 知識(shí)大全 > 方法百科 > 產(chǎn)品使用方法 > android構(gòu)造方法的作用

android構(gòu)造方法的作用

時(shí)間: 陳哲凡673 分享

android構(gòu)造方法的作用

  構(gòu)造方法是一種特殊的方法,它是一個(gè)與類(lèi)同名且沒(méi)有返回值類(lèi)型的方法。下面是學(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í)沒(méi)用

  android構(gòu)造方法的作用(二)

  1.構(gòu)造方法作用:(1).構(gòu)造出來(lái)一個(gè)類(lèi)的實(shí)例 (2).對(duì)構(gòu)造出來(lái)個(gè)一個(gè)類(lèi)的實(shí)例(對(duì)象)初始化。

  2.構(gòu)造方法的名字必須與定義他的類(lèi)名完全相同,沒(méi)有返回類(lèi)型,甚至連void也沒(méi)有。

  3.主要完成對(duì)象的初始化工作,構(gòu)造方法的調(diào)用是在創(chuàng)建一個(gè)對(duì)象時(shí)使用new操作進(jìn)行的。

  4.類(lèi)中必定有構(gòu)造方法,若不寫(xiě),系統(tǒng)自動(dòng)添加無(wú)參構(gòu)造方法。接口不允許被實(shí)例化,所以接口中沒(méi)有構(gòu)造方法。

  5.不能被static、final、synchronized、abstract和native修飾。

  6.構(gòu)造方法在初始化對(duì)象時(shí)自動(dòng)執(zhí)行,一般不能顯式地直接調(diào)用.當(dāng)同一個(gè)類(lèi)存在多個(gè)構(gòu)造方法時(shí),java編譯系統(tǒng)會(huì)自動(dòng)按照初始化時(shí)最后面括號(hào)的參數(shù)個(gè)數(shù)以及參數(shù)類(lèi)型來(lái)自動(dòng)一一對(duì)應(yīng)。完成構(gòu)造函數(shù)的調(diào)用。

  7.構(gòu)造方法分為兩種:無(wú)參構(gòu)造方法 有參構(gòu)造方法

  構(gòu)造方法可以被重載。沒(méi)有參數(shù)的構(gòu)造方法稱(chēng)為默認(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語(yǔ)言實(shí)現(xiàn)。

  Android核心系統(tǒng)服務(wù)依賴(lài)于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++庫(kù),被Android系統(tǒng)中不同組件使用,它們通過(guò)Android應(yīng)用程序框架為開(kāi)發(fā)者進(jìn)行服務(wù)。

  系統(tǒng)C庫(kù):(libc)從BSD繼承過(guò)來(lái)的標(biāo)準(zhǔn)的C系統(tǒng)函數(shù)庫(kù),專(zhuān)門(mén)是為基于嵌入式Linux的設(shè)備定制的庫(kù)。

  多媒體庫(kù):基于PackerVideo的OpenCore;該庫(kù)支持多種常用的音頻、視頻格式回放和錄制,支持多種媒體格式的編和解碼格式。

  Suface Manager:顯示子系統(tǒng)管理器,并且為多個(gè)應(yīng)用程序提供2D和3D圖層的無(wú)縫融合。

  LibWebCore:一個(gè)最新的Web瀏覽器引擎,支持Android瀏覽器,以及一個(gè)可嵌入式的Web視圖。

  SGL:Skia圖形庫(kù),底層的2D圖形引擎。

  3D libraries:基于OpenGL ES1.0 API的實(shí)現(xiàn);該庫(kù)可以使用硬件3D加速(如果可用),或者使用高度優(yōu)化的3D軟加速。

  FreeType:位圖(bitmap)和矢量(vector)字體顯示。

  Android運(yùn)行環(huán)境(ANDROID RUNTIME):提供了Java編程語(yǔ)言核心庫(kù)的大多數(shù)功能,由Dalvik Java虛擬機(jī)和基礎(chǔ)的Java類(lèi)庫(kù)組成。

  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ī)是基于寄存器的,所有的類(lèi)都是有Java編譯器編譯,然后通過(guò)SDK中的“dx”工具

  轉(zhuǎn)化為.dex格式由虛擬機(jī)執(zhí)行。

  Dalvik虛擬機(jī)依賴(lài)于Linux內(nèi)核的一些功能,比如線(xiàn)程機(jī)制和底層內(nèi)存管理機(jī)制。

  第三層:Android應(yīng)用框架(ANDROID FRAMEWORK)

374767