A. 計算機安全服務中訪問控制的主要功能是什麼
訪問就是對計算機資源進行某種操作的能力,訪問控制就是通過某種方式對這種能力明確的允許或禁止的方法,基於計算機的訪問控制被稱為邏輯訪問控制,邏輯訪問控制不僅僅可以規定誰或什麼程度或設備可以訪問特定的系統資源,還可以規定訪問的類型。
這些控制可以內建在操作系統中,可以建立在應用程序或主要的功能上,可以建立在數據倉庫管理系統或通信系統中,也可以通過安裝專門的安全程序包進行部署,邏輯訪問控制可以部署在受保護的計算機系統內部,也可以部署在外部設備中。
(1)簡述程序與類的訪問控制擴展閱讀:
注意事項:
網路實體安全:如計算機的物理條件、物理環境及設施的安全標准,計算機硬體、附屬設備及網路傳輸線路的安裝及配置等。
軟體安全:如保護網路系統不被非法侵入,系統軟體與應用軟體不被非法復制、篡改、不受病毒的侵害等。
數據安全:如保護網路信息的數據安全,不被非法存取,保護其完整、一致等。
網路安全管理:如運行時突發事件的安全處理等,包括採取計算機安全技術,建立安全管理制度,開展安全審計,進行風險分析等內容。
B. 訪問控制根據應用環境不同可分為三種它不包括
訪問控制根據應用環境不同可分為三種,它不包括資料庫訪問控制,訪問控制根據應用環境不同只有主機、操作系統訪問控制、網路訪問控制、應用程序訪問控制三種。
訪問控制可分為自主訪問控制和強制訪問控制兩大類。
自主訪問控制,是指由用戶有權對自身所創建的訪問對象(文件、數據表等)進行訪問,並可將對這些對象的訪問權授予其他用戶和從授予許可權的用戶收回其訪問許可權。
強制訪問控制,是指由系統(通過專門設置的系統安全員)對用戶所創建的對象進行統一的強制性控制,按照規定的規則決定哪些用戶可以對哪些對象進行什麼樣操作系統類型的訪問,即使是創建者用戶,在創建一個對象後,也可能無權訪問該對象。
訪問控制在技術實現上,包括以下幾部分:
(1)接入訪問控制:接入訪問控制為網路訪問提供了第一層訪問控制,是網路訪問的最先屏障,它控制哪些用戶能夠登錄到伺服器並獲取網路資源,控制准許用戶入網的時間和准許他們在哪台工作站入網。例如,ISP服務商實現的就是接入服務。
(2)資源訪問控制:是對客體整體資源信息的訪問控制管理。其中包括文件系統的訪問控制(文件目錄訪問控制和系統訪問控制)、文件屬性訪問控制、信息內容訪問控制。
(3)網路埠和節點的訪問控制:網路中的節點和埠往往加密傳輸數據,這些重要位置的管理必須防止黑客發動的攻擊。對於管理和修改數據,應該要求訪問者提供足以證明身份的驗證器(如智能卡) 。
以上內容參考網路-訪問控制
C. 安卓系統的自主訪問控制和強制訪問控制是怎麼操作的
自主訪問控制
自主訪問的含義是有訪問許可的主體能夠直接或間接地向其他主體轉讓訪問權。自主訪問控制是在確認主體身份以及(或)它們所屬的組的基礎上,控制主體的活動,實施用戶許可權管理、訪問屬性(讀、寫、執行)管理等,是一種最為普遍的訪問控制手段。自主訪問控制的主體可以按自己的意願決定哪些用戶可以訪問他們的資源,亦即主體有自主的決定權,一個主體可以有選擇地與其它主體共享他的資源。
基於訪問控制矩陣的訪問控製表(ACL)是DAC中通常採用一種的安全機制。ACL是帶有訪問許可權的矩陣,這些訪問權是授予主體訪問某一客體的。安全管理員通過維護ACL控制用戶訪問企業數據。對每一個受保護的資源,ACL對應一個個人用戶列表或由個人用戶構成的組列表,表中規定了相應的訪問模式。當用戶數量多、管理數據量大時,由於訪問控制的粒度是單個用
戶,ACL會很龐大。當組織內的人員發生能變化(升遷、換崗、招聘、離職)、工作職能發生變化(新增業務)時,ACL的修改變得異常困難。採用ACL機制管理授權處於一個較低級的層次,管理復雜、代價高以至易於出錯。
DAC的主要特徵體現在主體可以自主地把自己所擁有客體的訪問許可權授予其它主體或者從其它主體收回所授予的許可權,訪問通常基於訪問控製表(ACL)。訪問控制的粒度是單個用戶。沒有存取權的用戶只允許由授權用戶指定對客體的訪問權。DAC的缺點是信息在移動過程中其訪問許可權關系會被改變。如用戶A可將其對目標O的訪問許可權傳遞給用戶B,從而使不具備對O訪問許可權的B可訪問O。
強制訪問控制
為了實現完備的自主訪問控制系統,由訪問控制矩陣提供的信息必須以某種形式存放在系統中。訪問矩陣中的每行表示一個主體,每一列則表示一個受保護的客體,而矩陣中的元素,則表示主體可以對客體的訪問模式。目前,在系統中訪問控制矩陣本身,都不是完整地存儲起來,因為矩陣中的許多元素常常為空。空元素將會造成存儲空間的浪費,而且查找某個元素會耗費很多時間。實際上常常是基於矩陣的行或列來表達訪問控制信息。
強制訪問控制是「強加」給訪問主體的,即系統強制主體服從訪問控制政策。強制訪問控制(MAC)的主要特徵是對所有主體及其所控制的客體(例如:進程、文件、段、設備)實施強制訪問控制。
為這些主體及客體指定敏感標記,這些標記是等級分類和非等級類別的組合,它們是實施強制訪問控制的依據。系統通過比較主體和客體的敏感標記來決定一個主體是否能夠訪問某個客體。用戶的程序不能改變他自己及任何其它客體的敏感標記,從而系統可以防止特洛伊木馬的攻擊。
Top Secret),秘密級(Secret),機密級(Confidential)及無級別級(Unclassified)。其級別為T>S>C>U,系統根據主體和客體的敏感標記來決定訪問模式。訪問模式包括:
read down):用戶級別大於文件級別的讀操作;
Write up):用戶級別小於文件級別的寫操作;
Write down):用戶級別等於文件級別的寫操作;
read up):用戶級別小於文件級別的讀操作;
自主訪問控制不能抵禦「特洛伊木馬」攻擊,而強制訪問控制能夠有效的防禦「特洛伊木馬」攻擊。MAC最主要的優勢是它阻止特洛伊木馬的能力 一個特洛伊木馬是在一個執行某些合法功能的程序中隱藏的代碼,它利用運行此程序的主體的許可權違反安全策略 通過偽裝成有用的程序在進程中泄露信息 一個特洛伊木馬能夠以兩種方式泄露信息: 直接與非直接泄露 前者, 特洛伊木馬以這樣一種方式工作, 使信息的安全標示不正確並泄露給非授權用戶; 後者特洛伊木馬通過以下方式非直接地泄露信息: 在返回給一個主體的合法信息中編制 例如: 可能表面上某些提問需要回答, 而實際上用戶回答的內容被傳送給特洛伊木馬。
D. 什麼是訪問控制
問題一:什麼是訪問控制機制???? 防火牆的訪問控制機制是限制應用程序和軟體在訪問網路時是否帶有數字簽名和根據應用程序規則來判定是否木馬或者病毒。
問題二:訪問控制的名詞解釋是什麼意思 按用戶身份及其所歸屬的某項定義組來限制用戶對某些信息項的訪問,或限制對某些控制功能的使用的一種技術,如UniNAC網路准入控制系統的原理就是基於此技術之上。訪問控制通常用於系統管理員控制用戶對伺服器、目錄、文件等網路資源的訪問。
訪問控制是幾乎所有系統(包括計算機系統和非計算機系統)都需要用到的一種技術。訪問控制是:給出一套方法,將系統中的所有功能標識出來,組織起來,託管起來,將所有的數據組織起來標識出來託管起來, 然後提供一個簡單的唯一的介面,這個介面的一端是應用系統一端是許可權引擎。許可權引擎所回答的只是:誰是否對某資源具有實施 某個動作(運動、計算)的許可權。返回的結果只有:有、沒有、許可權引擎異常了。
中文名
訪問控制
限 制
用戶對某些信息項的訪問
包 含
伺服器、目錄、文件等
功 能
防止非法的主體進入受保護
問題三:什麼事訪問控制?訪問控制包括哪幾個要素? 訪問控制是指主體依據某些控制策略或許可權對客體本身或是其資源進行的不同授權訪問。
訪問控制包括三個要素,即:主體、客體和控制策略。 主體:是可以對其它實體施加動作的主動實體,簡記為S。
客體:是接受其他實體訪問的被動實體, 簡記為O。
控制策略:是主體對客體的操作行為集和約束條件集, 簡記為KS。
問題四:什麼是訪問控製表 下面是對幾種訪問控制列表的簡要總結。 ●標准IP訪問控制列表 一個標准IP訪問控制列表匹配IP包中的源地址或源地址中的一部分,可對匹配的包採取拒絕或允許兩個操作。編號范圍是從1到99的訪問控制列表是標准IP訪問控制列表。 ●擴展IP訪問控制列表 擴展IP訪問控制列表比標准IP訪問控制列表具有更多的匹配項,包括協議類型、源地址、目的地址、源埠、目的埠、建立連接的和IP優先順序等。編號范圍是從100到199的訪問控制列表是擴展IP訪問控制列表。 ●命名的IP訪問控制列表 所謂命名的IP訪問控制列表是以列表名代替列表編號來定義IP訪問控制列表,同樣包括標准和擴展兩種列表,定義過濾的語句與編號方式中相似。 ●標准IPX訪問控制列表 標准IPX訪問控制列表的編號范圍是800-899,它檢查IPX源網路號和目的網路號,同樣可以檢查源地址和目的地址的節點號部分。 ●擴展IPX訪問控制列表 擴展IPX訪問控制列表在標准IPX訪問控制列表的基礎上,增加了對IPX報頭中以下幾個宇段的檢查,它們是協議類型、源Socket、目標Socket。擴展IPX訪問控制列表的編號范圍是900-999。 ●命名的IPX訪問控制列表 與命名的IP訪問控制列表一樣,命名的IPX訪問控制列表是使用列表名取代列表編號。從而方便定義和引用列表,同樣有標准和擴展之分。
問題五:JAVA中什麼叫訪問控制 訪問修飾共有四種。
1、private 此修飾符修飾的方法或變數只有在本類中可以訪問
2、protected 此修飾符修飾的方法或變數只有在本類同包類及子類中可以訪問
3、public 此修飾符修飾的方法或變數在所有類中可以訪問
4、默認 此修飾符修飾的方法或變數在同包類中可以訪問
問題六:方法有那些訪問控制修飾符,分別是什麼作用 樓主的三個問題,我都有回答,
樓主問 :訪問控制修飾符 我沒見過, 一般都說訪問控制符 ,非訪問修飾符,也有叫非訪問耽制修飾符。
我不清除樓主的具體意思,就把 控制符和修飾符,都給你講了:
方法的訪問控制符同屬性一樣就是4個: 都是顧名思義,也就不詳細說明了。
public 公有的
protected 包有和子類 可以訪問 引用。
package-private ,這是默認的,什麼都不寫,就是 包私有。
private 私有,本類訪問。
至於,修飾符有:
static 都知道是靜態的
final 是最終的,就是不能修改了,
abstract 抽象的方法,就是聲明了,沒實現的方法, 沒有方法體的,只有方法名的。
native 本地方法,表示該方法不使用java編寫,是用 其他語言 如 c++等編寫的。
synchronized 修飾方法成為一個同步方法,用的不多,概念是這樣的。
問題七:java中的訪問控制有什麼用? 9.訪問控制 訪問控制有什麼用?
在
軟體公司里是這么用的,我們想像一種場景,在你的類中,你編了三個私有方法,馬克-to-win,別人當然都用不了,但在類外,你也是用不了的,你必須,
在類里再編一個公共方法,別人就能隨便用了!但是如果你的公共方法調用那三個私有方法的順序是132的話,全世界人民只能調用那個公共方法,按照132的
順序,來使用那三個私有方法,他想按照123的順序來調用那三個私有方法,都沒辦法。因為這個類的發布權在你手裡,全世界人民只會到你的網站去下載。如果
大家有需求建議說你把順序改成321,他們得經過你的同意,把這順序為321的公共方法,重新加入你的類中,重新在你自己的網站打包發布,所以保護了你的
知識產權馬克-to-win。
類和他的成員如何被訪問以及在什麼范圍內能被訪問,取決於它聲明的訪問指示符(access specifier)。
Java的訪問指示符分類1.public(公共的,全局的)2.private(私有的,局部的)3.protected(受保護的)4.默認訪問級別。
public:當一個類成員被public指示符修飾時,該成員可以被你的程序中的任何其他代碼訪問。
private :當一個類成員被指定為private時,該成員只能被它的類中的其他成員訪問。
main( )總是被public指示符修飾。它被在程序外面的代碼調用,也就是由Java運行系統調用。
默認訪問級別:如果不使用訪問指示符,該類成員的默認訪問設置為在它自己的包內為public,但是在它的包以外不能被存取。
本章源碼
class Test3 {
int a; default access訪問
public int b; public access
private int c; private access
methods to access c
void setc(int i) { set c's value
c = i;
}
int getc() { get c's value
return c;
}
}
public class Test {
public static void main(String args[]) {
Test3 ob = new Test3();
。。。。。。。。。。。。。。。。詳情網上找「馬克-to-win」,參考他的網站或他的網路空間:java第2章的內容
問題八:什麼是安全性和訪問控制測試 未經授權用戶能否訪問系統,測試安全性,兩方面,正確用戶能否正常登錄,不正確用戶能否登錄
訪問控制在我理解是不是有做一些攔截,看這些攔截有沒有起作用
問題九:簡述什麼是基於角色的訪問控制rbac 訪問是一種利用計算機資源去做某件事情的的能力,訪問控制是一種手段,通過它這種能力在某些情況下被允許或者受限制(通常是通過物理上和基於系統的控
制)。基於計算機的訪問控制不僅可規定是「誰」或某個操作有權使用特定系統資源,而且也能規定被允許的訪問類型。這些控制方式可在計算機系統或者外部設備
中實現。
就基於角色訪問控制而言,訪問決策是基於角色的,個體用戶是某個組織的一部分。用戶具有指派的角色(比如醫生、護士、出納、經理)。定義角色的過程應該基於對組織運轉的徹底分析,應該包括來自一個組織中更廣范圍用戶的輸入。
訪問權按角色名分組,資源的使用受限於授權給假定關聯角色的個體。例如,在一個醫院系統中,醫生角色可能包括進行診斷、開據處方、指示實驗室化驗等;而研究員的角色則被限制在收集用於研究的匿名臨床信息工作上。
控制訪問角色的運用可能是一種開發和加強企業特殊安全策略,進行安全管理過程流程化的有效手段。
E. android系統怎樣實現訪問控制策略
第一類風險是濫用應用程序許可權。關於這類風險有如下防範策略建議。
應用程序認證
認證是防範惡意程序的有效手段之一。在理想狀態下,一個應用程序在認證之前必須經過完整的測試與代碼審查,確認其許可權使用的合理性,這自然對惡意軟體起到了有力的防範作用。但是,認證的費用高昂,程序復雜,並不具備廣泛的實用性。
選擇使用應用程序許可權
如果能夠在安裝階段,確認某一應用程序僅使用必需的最小許可權,也就是遵循最小許可權原則,則受到惡意軟體攻擊的可能性必將大大降低!對於有經驗的用戶這也許是一種選擇,但對於廣大的普通用戶,恐怕沒人懂得如何驗證應用程序要求的許可權是否合理,在多數情況下用戶會直接授予所要求的許可權。因此需要開發者在申請或設定許可權時,嚴格遵循最小許可權原則。
自動靜態分析與代碼驗證
設計一種自動分析應用程序特性的工具,分析應用程序的功能以及不同應用程序之間的差別,以判斷其合法性。
第二類風險是攻擊Linux內核與系統庫函數的漏洞。目前,針對這種風險,採用更嚴格的訪問控制機制,第6章介紹的限制操作系統用戶許可權的SE Android,是一種實際且有效的選擇。最危險的攻擊就是利用系統漏洞獲取根用戶或超級用戶許可權,進而控制整個系統。SE Android恰好通過控制根用戶或超級用戶許可權實現對安全性的增強,即使攻擊者獲取了根用戶許可權,但可能的危害范圍不至於無限擴大。但是,某些系統命令由於正常使用的需要,可能無法完全禁用,攻擊者如果恰好獲得該類命令的使用權,則SE Android的功能就十分有限了。
第三類風險是破壞私有數據的可用性、數據隱私性以及完好性。可以採取以下策略進行防範。
登錄
使用登錄用戶口令解鎖移動設備的某些功能,以防止安全威脅。這是一種常見的有效方式,尤其是用於保護隱私數據信息。但是,當設備遺失時,如果尚未使用口令解鎖設備,則保護作用存在;如果解鎖之後才遺失設備,則口令保護完全無效。
防火牆
防火牆可以保障用戶私有信息不會經由網路連接被泄露。通常,對網路連接傳輸的內容使用無狀態或有狀態的分析,可以發現是否有私密信息正被泄露,因此可以切斷傳輸線路。由於防火牆工作在操作系統內核中,因此無法直接為外部攻擊所侵害。同時防火牆可以與SE Android提供的訪問控制機制協同工作,提供更高級別的保護。但是,惡意軟體並非只能通過網路介面泄露隱私信息。比如,通過簡訊/彩信的發送,防火牆就無作用了。
數據加密
數據加密是保護隱私數據的最佳手段。由於只有信息所有者才有密鑰,因此即使設備失竊,隱私信息的安全仍然得到保障。
上下文敏感的訪問控制(CAAC,Context Aware Access Control)
CAAC可以根據設備使用的內部與周邊環境決定訪問許可權,比如設備使用的地點、所登錄的移動網路、是否連接Wi-Fi等。但是,如果攻擊恰好發生在允許訪問的環境下,則此類方式無效。
遠程管理
從安全形度,遠程管理能力是必須嚴格限制使用的。但是,與防火牆、CAAC機制相結合,遠程管理實際可以提升安全性。例如,設備遺失後,可以通過遠程管理機制開啟防護機制,保護數據安全。即使在日常使用中,遠程管理也可能發現肆虐移動網路的蠕蟲,通過啟動防火牆等機制限制蠕蟲的活動。但是,所有的遠程管理都需要在受到攻擊的過程中,或受到攻擊之前有人為參與,而且需要耗費設備的資源,以及遠程管理的人力資源等,費用不菲。
第四類風險是耗盡系統資源,可以採取如下的防範手段。
資源管理
系統資源管理的安全方案可以進一步降低耗盡系統資源類風險的危害。其機制是公平分配每個應用程序所需的系統資源。當然,可以根據應用程序的重要性與對資源的需求情況加以分配。比如,電話應用程序非常重要,因此需要得到更多的CPU時間。如果CPU時間、存儲空間限額、網路與磁碟輸入輸出限流,則「拒絕服務」類型的攻擊可被避免。但是,高效實現此類機制仍然十分困難,因此應用較少。
入侵檢測/防護系統
基於宿主(host)的入侵檢測系統可以通過資源使用的異常情況,檢測各種耗盡電池、內存與CPU時間的惡意軟體。但是,高級的惡意軟體通常偽裝為正常軟體,不易檢測。
第五類風險是入侵專用網路連接。建議採用如下的防範策略。
虛擬專網(VPN)
虛擬專網使用成熟的信息認證碼與加密,保護通信的安全,可以防止針對網路的攻擊。
遠程管理
一個集中式的遠程管理中心可以增強安全保護能力,但遠程管理中心的人為因素可能成為另類的安全隱患。
上下文敏感的訪問控制(CAAC)
在內網或虛擬專網的環境下,結合CAAC的機制,可以更好地保護數據安全。比如,當檢測到外網環境時,適時啟動數據傳輸加密機制等。
以上均為宏觀上採取的防範策略,就實施細節而言,重要的是開發者需具備基本的安全意識,充分認識到安全性也是軟體開發周期的一個重要環節,編寫安全的代碼是開發者所必須具備的一項職業技能。雖然不可能確保所編寫的代碼100%安全,但也要盡可能地使用戶對Android系統和應用程序放心。
具體而言,無論是系統工程師還是應用工程師,在Android平台上致力於實現功能的同時,應更深入地理解所編寫的應用程序將如何與Android系統或其他應用程序安全地交互;如何安全地存儲數據到SQLite;如何保護用戶數據尤其是敏感數據的安全,避免惡意軟體的攻擊;如何處理有限的內存、電池電量;如何充分理解許可權機制,使用戶清楚應用程序需要哪些許可權。所有的這些都是開發流程中必不可少的部分。
本文節選自《Android安全機制解析與應用實踐》一書。
F. 訪問控制的基本任務是什麼
訪問控制的基本任務如下:
1.用戶身份認證
認證就是證實用戶的身份。認證必須和標識符共同起作用。認證過程首先需要輸入貼戶名、用戶標識(Userid)或注冊標識(Logonld),告訴計算機用戶是誰。賬戶名信息應該是秘密的,任何其他用戶不應擁有它。但為了防止賬戶名或ID的泄露而出現非法用戶訪問,還需進一步用認證技術證實用戶的合法身份。
口令是一種種簡便易行的認證手段,但因為容易被猜測出來而比較脆弱,也容易被非法用戶利用。生物技術是一種嚴格而有前途的認證方法,如利用指紋、視網膜等,但因技術復雜,目前還沒有得到廣泛採用。
2.授權
系統在正確認證用戶以後,根據不同的ID分配不同的使用資源,這項任務稱為授權。授權的實現是靠訪問控制完成的。訪問控制是一項特殊的任務,它用標識符ID做關鍵字來控推制用戶訪問程序和數據。
訪問控制主要用於大型計算機、主機和伺服器,個人計算機很少用。但如果要在個人計算機上增加訪問控制功能,可以在DOS環境下安裝Thegate軟體,在Windows環境下安裝MrBurns軟體。
下面從三個方面說明如何決定用戶的訪問許可權。
(1)用戶分類
對一個已被系統識別和認證的用戶(合法用戶),還要對它的訪問操作實施一定的限制。對一個通用計算機系統來講,用廠戶范圍很廣,層層次不同,許可權也不同。可將用戶分為如下4種用戶類。
①特殊用戶。這類用戶就是系統管理員,他擁有最高級別的特權,可以訪問系統的任何資源,並具有所有類型的訪問操作權力。
②一般用戶。這是最多的一類用戶,也是系統的一般用戶,他們們的訪問操作要受一定的限制。根據需要,系統管理員對這類用戶分配不同的訪問操作權力。
③做審計的用戶。這類用戶負責對整個系統的安全控制與資源使用情況進行審計。
④作廢用戶。這是一類被取消訪問權力或拒絕訪問系統的用戶,又稱為非法用用戶。
G. 簡要敘述什麼是訪問控制符,列出Java中的訪問控制符,並說明各個訪問控制符的控制許可權
一,非訪問修飾符。
1, 抽象類:
凡是用abstract修飾符修飾的類被稱為抽象類。抽象類就是沒有具體對象的概念類。
抽象類是一種經過優化的概念組織方式:把共同特點抽象出來;其後在描述和處理某一種具體對象時,就只需描述不同的特殊之處。這種組織方式使得所有的概念層次分明,簡潔洗練,非常符合人們日常的思維習慣。
由於抽象類是它的所有子類的公共屬性的集合,所以使用抽象類的一個優點就是可以充分利用這些公共屬性來提高開發和維護程序的效率。
值得一提的是,面向對象技術是要用更接近於人類思維方式的方法來處理實際問題,抽象類的設立就是這種思想的具體體現之一,它是模仿人類的思維模式的產物。
2,最終類:
如果一個類被final修飾符所修飾和限定,說明這個類不可能有子類。
被定義為final的類通常是一些有固定作用、用來完成某種標准功能的類。如Java系統定義好的用來實現網路功能的InterAddress、Socket等類都是final類。
abstract和final修飾符不能同時修飾一個類,因為abstract類自身沒有具體對象,需要派生出子類後在創建子類的對象;而final類不可能有子類。這樣放在一起修飾就沒有意義了。
3,有些類的修飾符也可以用來修飾類中的域或方法:
(1) 域:是類和對象的靜態屬性,定義域的操作就是說明變數或創建對象的操作。
<1> 靜態域:
用static修飾符修飾的域是僅屬於類的靜態域。靜態域是類中每個對象共享的域。他們是類的域,不屬於任何一個類的具體對象。是一個公共的存儲單元,任何一個類的對象訪問它時,取到的都是相同的數值。
<2> 靜態初始化器:
靜態初始化器是由關鍵字static引導的一對大括弧括起的語句組。作用是:在載入時,初始化類的靜態域。
與構造函數相同,他們都是用來完成初始化的工作,但是靜態初始化器與構造函數有三點不同:
①構造函數是對每個新創建的對象初始化,而靜態初始化器是對類自身進行初始化。
②構造函數是在用new運算符產生新對象時由系統自動執行,而靜態初始化器則是在它所屬的類載入到內存時由系統調用執行。
③不同於構造函數,靜態初始化器不是方法,沒有方法名、返回值和參數列表。
<3> 最終域:
用final修飾的域,實際上就是Java中的常量。
用final修飾符說明常量時,需要注意以下幾點:
①需要說明常量的數據類型。
②需要同時指出常量的具體取值。
③因為所有類對象的常量成員,其數值都固定一致,為了節省空間,常量通常聲明為static。
<4> 易失域:
如果一個域被volatile修飾符所修飾,說明這個域可能同時被幾個線程所控制和修改,即這個域不僅僅被當前程序所掌握,在運行過程中可能在其他未知的程序操作影響和改變該域的取值。在使用當中應該特別注意。
通常,volatile用來修飾接受外部輸入的域。如表示當前時間的變數將系統的後台線程隨時修改,以保證程序中取到的總是最新的當前系統時間,所以可以把它定義為易失域。
(2)方法:是類的動態屬性,標志了類所具有的功能和操作。小括弧是方法的標志。
<1> 抽象方法:
修飾符abstract修飾的抽象方法是一種僅有方法頭,而沒有具體的方法體和操作實現的方法。使用抽象方法的目的是使所有的子類,對外都呈現一個相同名字的方法,是一個統一的介面。所有的抽象方法,都必須存在於抽象類之中。
<2> 靜態方法:
用static修飾符修飾的方法,是屬於整個類的類方法,不用的是對象或實例的方法。調用這種方法時,應該使用類名作前綴;這種方法在內存中的代碼段將隨著類的定義而分配和裝載,不被任何一個對象專有;只能處理屬於整個類的成員變數。
<3> 最終方法:
用final修飾符修飾的類方法。功能和內部語句不能再更改的方法,不能再被繼承。
注意:所有已被private修飾符限定為私有的方法,以及所有包含在final類中的方法,都被預設地認為是final的。
<4> 本地方法:
用native修飾符聲明其他語言書寫方法體並具體實現方法功能的特殊的方法。這里的其他語言包括C/C++/FROTRAN/匯編等。由於native的方法的方法體使用其他語言在程序外部寫成,所以所有的native方法都沒有方法體,而用一個分號代替。
<5> 同步方法:
如果synchronized修飾的方法是一個類的方法(即static的方法),那麼在被調用執行前,將把系統類Class中對應當前類的對象加鎖。如果synchronized修飾的是一個對象的方法(未用static修飾的方法),則這個方法在被調用執行前,將把當前對象加鎖。Synchronized修飾符主要用於多線程共存的程序中的協調和同步。
二,訪問控制符。
訪問控制符是一組限定類、域或方法是否可以被程序里的其他部分訪問和調用的修飾符。類的訪問控制符只有一個public,域和方法的訪問控制符有四個,分別是public、private、protected、private protected,另外還有一種沒有定義專門的訪問控制符的預設情況。
1, 公有訪問控制符public:
Java的類是通過包的概念來組織的,包氏類的一個鬆散的集合。處於同一個包中的類可以不需要任何說明而方便的互相訪問和引用,而對於不同包中的類,則不行。但當一個類被聲明為public時,他就具有了被其他包中的類訪問的可能性,只要這些其他包中的類在程序中使用import語句引入public類,就可以訪問和引用這個類。
類中被設定為public的方法是這個類對外的介面部分,避免了程序的其他部分直接去操作類內的數據,這實際就是數據封裝思想的體現。
每個Java程序的主類都必須是public類,也是基於相同的原因。
用public修飾的類的域稱為公共域。如果公共域屬於公共類,則它能被所有的其他類所引用。public修飾符會造成安全性的數據封裝性下降,所以一般應減少public域的使用。
2, 預設訪問控制符:
預設訪問控制權規定,該類只能被同一個包中的類訪問和引用,而不可以被其他包中的類使用,這種訪問特性又稱為包訪問性。
同樣道理,類內的域或方法如果美育訪問控制符來限定,也就具有包訪問性。
簡單說,定義在同一個程序中的所有類屬於一個包。
3,私有訪問控制符private :
用private修飾得域或方法只能被該類自身所訪問和修改,而且不能被任何其他類(包括該類的子類)來獲取和引用。private修飾符用來聲明那些類的私有成員,它提供了最高的保護級別。
4,保護訪問控制符protected :
用protected修飾的成員變數可以被三種類所引用:該類自身、與它在同一個包中的其它類、在其他包中的該類的子類。使用protected修飾符的主要作用是允許其他包中該類的子類來訪問父類的特定屬性。
5,私有保護訪問控制符 private protected :
用private protected修飾的成員變數可以被兩種類訪問和引用,一種是該類本身,一種是該類的所有子類。把同一個包內的非子類排除在可訪問的范圍之外,使得成員變數更專於具有明確繼承關系的類,而不是鬆散地組合在一起的包。