一.對象和對象的引用
-
對象:
萬物皆對象是Java設(shè)計之初的理念之一渺氧,每個對象都是某個類的一個實例腐魂,創(chuàng)建一個對象new User("小明")
粥脚。例如你就是一個對象脊岳,就是人這個類的一個實例纵揍。
-
對象的引用:
User user = new User("小明");
其中的user就是指向User類的對象的引用顿乒。
User user;
user = new User("小明");
user = new User("李四");
上述代碼說明泽谨,一個User類的引用可以指向任何一個User類的實例 璧榄。
User user = new User("張三");
User user2 = user;
上述代碼說明一個對象可以被多個引用所指。
二.Java的三大特性
-
1.封裝
屬性用來描述同一類事物的特征吧雹,方法是這一類事物可做的操作骨杂,封裝就是把屬于同一個類的共性包括屬性和方法歸在一個類中。
封裝也稱為信息隱藏雄卷,是指利用抽象數(shù)據(jù)類型將數(shù)據(jù)和基于數(shù)據(jù)的操作封裝在一起搓蚪,使其構(gòu)成一個不可分割的獨立實體,數(shù)據(jù)被保護(hù)在抽象數(shù)據(jù)類型的內(nèi)部丁鹉,盡可能地隱藏內(nèi)部的細(xì)節(jié)妒潭,只保留一些對外接口使之與外部發(fā)生聯(lián)系
-
2.繼承
一個類繼承另一個悴能,繼承的類稱為子類,被繼承的類稱為父類杜耙。繼承后子類自動擁有了父類的屬性和方法(私有屬性除外)搜骡,子類可以重寫父類的方法,及命名與父類同名的成員變量佑女。Java不支持多重繼承记靡,一個子類只能繼承一個父類。
-
3.多態(tài)
多態(tài)又分為設(shè)計時多態(tài)和運行時多態(tài)团驱,例如重載又被稱為設(shè)計時多態(tài)摸吠,而對于覆蓋或繼承的方法,JAVA運行時系統(tǒng)根據(jù)調(diào)用該方法的實例的類型來決定選擇調(diào)用哪個方法則被稱為運行時多態(tài)嚎花。
三.內(nèi)存
User user = new User();
User user2 = new User();
user.name = "張三";
user2.name = "李四"寸痢;
四.訪問控制和繼承
- 父類聲明public方法,在子類中也必須為public
- 父類聲明protected的方法在子類中要么聲明為protected要么聲明為public紊选,不能聲明為private啼止。
- 父類聲明private的方法,不能被聲明兵罢。
五.非訪問修飾符
-
1.static修飾符
- 靜態(tài)變量:
static關(guān)鍵字用來聲明獨立于對象的靜態(tài)變量献烦,無論實例化多少對象,靜態(tài)變量只被拷貝一次卖词,靜態(tài)變量也稱為類變量巩那,局部變量不能為靜態(tài)變量。 - 靜態(tài)方法:
static 關(guān)鍵字用來聲明獨立于對象的靜態(tài)方法此蜈。靜態(tài)方法不能使用類的非靜態(tài)變量即横。靜態(tài)方法從參數(shù)列表得到數(shù)據(jù),然后計算這些數(shù)據(jù)裆赵。
- 靜態(tài)變量:
對于靜態(tài)變量和靜態(tài)方法可以用類名稱.靜態(tài)變量/靜態(tài)方法
來調(diào)用东囚。
-
2.final修飾符
- final變量:
被final定義的變量,只能被初始化一次战授。而且被聲明為final的對象的的引用不能指向不同的對象舔庶,但是對象的數(shù)據(jù)是可以改變的。既: final 對象的引用不能改變陈醒,但是里面的值可以改變。 - final方法:
類中的final方法可以被子類繼承瞧甩,但是不能被子類修改钉跷,聲明final方法就是為了防止方法內(nèi)容被修改。 - final類:
final 類不能被繼承肚逸,沒有類能夠繼承 final 類的任何特性
- final變量:
-
3.abstract修飾符
- 抽象類:
抽象類不能用來實例化爷辙,抽象類是為了以后進(jìn)行擴(kuò)充的彬坏,而且abstract不能和final同時使用。抽象類中可以包含抽象方法和非抽象方法膝晾。 - 抽象方法:
抽象方法是一種沒有任何實現(xiàn)的方法栓始,該方法的的具體實現(xiàn)由子類提供。抽象方法不能被聲明成 final 和 static血当。任何繼承抽象類的子類必須實現(xiàn)父類的所有抽象方法幻赚,除非該子類也是抽象類。如果一個類包含若干個抽象方法臊旭,那么該類必須聲明為抽象類落恼。抽象類可以不包含抽象方法。
- 抽象類:
3.synchronized修飾符
被synchronized
修飾符修飾的方法离熏,同一時間只能被一個線程訪問佳谦。4.transient 修飾符
5.volatile 修飾符