马士兵 java 学习笔记_马士兵java教程笔记1
---恢復內容開始---
前記
雖然已經是個研究生了,但是會的東西還是特別的少 甚至連java都不能說是很會 所以準備從現在開始能好好的學習java 變成java master
標識符
標識符是由字母、_、$或數字組成
標識符應以字母、下劃線、$開頭(不能以數字開頭)
java標識符大小寫敏感,長度無限制
java變量
變量本質上是內存中的一小塊區域,使用變量名來訪問這塊區域。每個變量使用前必須要先申 ,然后必須進行賦值,才能使用
double d1,d2,d3 = 0.123;//只有d3是0.123
方法的作用域:出了大括號 沒人認識了
面向對象部分
類和對象:類可以看成一類對象的模板,對象可以看成該類的一個具體實例
關聯關系:一個類的方法參數是另一個類的對象 (最弱的關系)
繼承關系:xx是一種xx(一般和特殊)
聚合關系:(整體和部分)聚集 、組合(更嚴格,密不可分)
實現關系:
應該有 多少個類多少個對象-》這些類和對象里有多少屬性和方法-》類和類之間的關系
定義成員變量時可以對其初始化,如不對其進行初始化,java使用默認的值對其進行初始化
java語言中除基本類型之外的類型都稱為引用類型,引用類型占兩塊內存,一塊是地址,另一塊是new出來的東西 放在堆內存里
如何在內存中區分 類 和 對象:
類是靜態的概念,位于代碼區
對象是new出來的,位于堆內存,類的每個成員變量在不同的對象中都有不同的值(除了靜態變量)
構造方法
使用new+構造方法 創建一個新對象;當沒有制定構造函數時,編譯器為類自動添加形如 ?類名(){}的構造函數
this
在類的方法定義中使用的this關鍵字代表使用該方法的對象的引用
當必須指出當前使用方法的對象是誰時要使用this
有時使用this可以處理方法中成員變量和參數重名的情況
this可以看作是一個變量,它的值是當前對象的引用
static 關鍵字
在類中,用static聲明的成員變量為靜態成員變量,它為該類的公用變量,在第一次使用時被初始化,對于該類的所有對象來說,static成員共享
用static聲明的方法為靜態方法,在調用該方法時,不會將對象的引用傳遞給他,所以在static方法中不可訪問非static的成員
靜態方法不再是針對某個對象調用,所以不能訪問非靜態成員
可以通過對象引用或類名訪問靜態成員
Java權限修飾符public protected private置于類的成員定義前,用來限定其他對象對該類對象成員的訪問權限
修飾符
類內部
同一個包
子類
任何地方
Private
y
Default
Y
y
Protected
Y
y
y
Public
Y
y
y
y
繼承能把父類所有的東西都繼承下來,但是 private和default不能訪問
對于class的權限修飾只可以用public和default
Public類可以在任意地方被訪問
Default類只可以被同一個包內部的類訪問
類的繼承與權限控制
Java中使用extends關鍵字實現類的繼承機制 (xx是一種xx)
通過繼承,子類自動擁有了基類的所有成員(成員變量和方法)
Java只支持單繼承,不允許多繼承(一個子類只能有一個基類 一個基類可以派出多個子類)
方法的重寫 overwrite
在子類中可以根據需要對從基類中繼承來的方法進行重寫
重寫方法必須和被重寫方法具有相同方法名稱、參數列表和返回類型
重寫方法不能使用比被重寫方法更嚴格的訪問權限
---恢復內容結束---
前記
雖然已經是個研究生了,但是會的東西還是特別的少 甚至連java都不能說是很會 所以準備從現在開始能好好的學習java 變成java master
標識符
標識符是由字母、_、$或數字組成
標識符應以字母、下劃線、$開頭(不能以數字開頭)
java標識符大小寫敏感,長度無限制
java變量
變量本質上是內存中的一小塊區域,使用變量名來訪問這塊區域。每個變量使用前必須要先申 ,然后必須進行賦值,才能使用
double d1,d2,d3 = 0.123;//只有d3是0.123
方法的作用域:出了大括號 沒人認識了
面向對象部分
類和對象:類可以看成一類對象的模板,對象可以看成該類的一個具體實例
關聯關系:一個類的方法參數是另一個類的對象 (最弱的關系)
繼承關系:xx是一種xx(一般和特殊)
聚合關系:(整體和部分)聚集 、組合(更嚴格,密不可分)
實現關系:
應該有 多少個類多少個對象-》這些類和對象里有多少屬性和方法-》類和類之間的關系
定義成員變量時可以對其初始化,如不對其進行初始化,java使用默認的值對其進行初始化
Java權限修飾符public protected private置于類的成員定義前,用來限定其他對象對該類對象成員的訪問權限
修飾符
類內部
同一個包
子類
任何地方
Private
y
Default
Y
y
Protected
Y
y
y
Public
Y
y
y
y
繼承能把父類所有的東西都繼承下來,但是 private和default不能訪問
對于class的權限修飾只可以用public和default
Public類可以在任意地方被訪問
Default類只可以被同一個包內部的類訪問
類的繼承與權限控制
Java中使用extends關鍵字實現類的繼承機制 (xx是一種xx)
通過繼承,子類自動擁有了基類的所有成員(成員變量和方法)
Java只支持單繼承,不允許多繼承(一個子類只能有一個基類 一個基類可以派出多個子類)
方法的重寫 overwrite
在子類中可以根據需要對從基類中繼承來的方法進行重寫
重寫方法必須和被重寫方法具有相同方法名稱、參數列表和返回類型
重寫方法不能使用比被重寫方法更嚴格的訪問權限
java語言中除基本類型之外的類型都稱為引用類型,引用類型占兩塊內存,一塊是地址,另一塊是new出來的東西 放在堆內存里
如何在內存中區分 類 和 對象:
類是靜態的概念,位于代碼區
對象是new出來的,位于堆內存,類的每個成員變量在不同的對象中都有不同的值(除了靜態變量)
構造方法
使用new+構造方法 創建一個新對象;當沒有制定構造函數時,編譯器為類自動添加形如 ?類名(){}的構造函數
this
在類的方法定義中使用的this關鍵字代表使用該方法的對象的引用
當必須指出當前使用方法的對象是誰時要使用this
有時使用this可以處理方法中成員變量和參數重名的情況
this可以看作是一個變量,它的值是當前對象的引用
static 關鍵字
在類中,用static聲明的成員變量為靜態成員變量,它為該類的公用變量,在第一次使用時被初始化,對于該類的所有對象來說,static成員共享
用static聲明的方法為靜態方法,在調用該方法時,不會將對象的引用傳遞給他,所以在static方法中不可訪問非static的成員
靜態方法不再是針對某個對象調用,所以不能訪問非靜態成員
可以通過對象引用或類名訪問靜態成員
super
1)super(參數):調用基類中的某一個構造函數(應該為構造函數中的第一條語句)
2)this(參數):調用本類中另一種形成的構造函數(應該為構造函數中的第一條語句)
3)super: 它引用當前對象的直接父類中的成員(用來訪問直接父類中被隱藏的父類中成員數據或函數,基類與派生類中有相同成員定義時如:super.變量名 super.成員函數據名(實參)
4)this:它代表當前對象名(在程序中易產生二義性之處,應使用this來指明當前對象;如果函數的形參與類中的成員數據同名,這時需用this來指明成員變量名)
5)調用super()必須寫在子類構造方法的第一行,否則編譯不通過。每個子類構造方法的第一條語句,都是隱含地調用super(),如果父類沒有這種形式的構造函數,那么在編譯的時候就會報錯。
6)super()和this()類似,區別是,super()從子類中調用父類的構造方法,this()在同一類內調用其它方法。
7)super()和this()均需放在構造方法內第一行。
8)盡管可以用this調用一個構造器,但卻不能調用兩個。
9)this和super不能同時出現在一個構造函數里面,因為this必然會調用其它的構造函數,其它的構造函數必然也會有super語句的存在,所以在同一個構造函數里面有相同的語句,就失去了語句的意義,編譯器也不會通過。
10)this()和super()都指的是對象,所以,均不可以在static環境中使用。包括:static變量,static方法,static語句塊
11)從本質上講,this是一個指向本對象的指針, 然而super是一個Java關鍵字。
Object
equals()
getclass()
hashcode() 返回hash編碼
toString() public String toString()方法,其返回值是String類型;在進行String與其他類型數據的連接操作時,將自動調用該對象類的toString()方法;可以根據需要重寫toString()方法
equals
object類中定義有:
public boolean equals(Object obj)方法 提供定義對象是否相等的邏輯
Object的equals方法定義為:x.equals(y)當x和y所引用的對象是同一類對象且屬性內容相等時,返回true否則返回false
J2SDK提供的一些類,如String,Date等,重寫了Object的equals方法
對象轉型(casting)
一個基類的引用類型變量可以指向其子類的對象
一個基類的引用不可以訪問其子類對象新增加的成員(屬性和方法)
可以使用引用變量instanceof類名來判斷該引用型變量所指向的對象是否屬于該類或該類的子類
子類的對象可以當作基類的對象來使用稱作向上轉型upcasting,反之成為向下 downcasting
動態綁定和多態
動態綁定是指 在執行期間判斷所引用對象的實際類型,根據其實際的類型調用其相應的方法
多態的必要條件:
要有繼承 要有重寫 父類引用指向子類對象
總結
以上是生活随笔為你收集整理的马士兵 java 学习笔记_马士兵java教程笔记1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人机交互设备(HID)
- 下一篇: python作业:有一个学生成绩表,包括