Java中的類和方法
在Java中,萬事萬物皆對象,每個對象都擁有屬性和方法
面向對象的特點有“封裝性”、“繼承性”、“多態性”
類
Public class person{
}
類是Java的核心,所有的Java程序都是基於類的。它定義了對象的屬性和行爲,類描述的是一個物品的完整信息,比如一個人,有自己的姓名、年齡和職位的信息,一個人可以吃飯,睡覺,打遊戲。在Java裏,人就是類,定義了人的各種信息,而人是類的實體。
如何創建一個類
Public class person{
Private String name; //姓名屬性
Privateint age; //年齡屬性
Public void sleep(){
System.out.println("我是一個人,我會睡覺");
}
}
成員變量
成員變量就是這個類定義的一些私有變量,這些變量屬於這個類。成員變量是表示類的特定屬性,方法則表示類的行爲。
成員變量如何創建?
變量的類型 變量的名稱
private String name;
成員變量該如何初始化?
通過new關鍵字創建一個對象之後,如果對象存在有成員變量,系統就會爲其自動分配一個初始值,所以不管有沒有在創建成員變量的時候賦給變量一個值,系統都會有一個默認的值。
public class Person {
private String name; // 姓名屬性
private int age; // 年齡屬性
private String occupation; // 職業屬性
@Test
public void test() {
Person p = new Person();
System.out.println(p.name);
System.out.println(p.age);
}
}
什麼是訪問控制符
訪問控制符可以限制外界對程序員定義的類、方法及變量的訪問權限。
訪問控制符的類別有哪些?
|
private |
無訪問控制符 |
protected |
public |
同一個類內部 |
Y |
Y |
Y |
Y |
同一個包內部 |
N |
Y |
Y |
Y |
子類(非同包) |
N |
N |
Y |
Y |
非子類(非同包) |
N |
N |
N |
Y |
Y(表示可以)N(表示不可以)
局部變量 是什麼?
局部變量和成員變量很相似,都是描述信息的。不同的地方是,局部變量是在方法裏面創建的,在方法外面是訪問不到這個變量的
局部變量和成員變量的區別
局部變量描述的是這個方法體內的屬性,而成員變量描述的是這個對象裏的屬性的,它們之間的區別,即訪問區別如下:
ü 成員變量可以被public、protected、default、private、static、final修飾符修飾。
ü 局部變量可以被final修飾符修飾,但不能修飾爲public、protected、default、private、static。
ü 成員變量有系統默認值。
ü 局部變量沒有系統默認值,必須手動賦值。
類的方法
每個人都有吃飯、喝水和睡等行爲。在Java中,方法就好比日常生活中的一個行爲,是用來完成一系列操作的,對對象的操作是由方法來完成的,如果需要使用一個對象來完成相應的工作,就需要調用它所對應的方法。方法收到對象的信息,從而進行處理。
方法的創建
1. 沒有返回值
Public void sleep(){
System.out.println("我是一個人,我會睡覺");
}
2. 有返回值
Publicint age(){
return age;
}
方法頭
方法頭一般由方法名、參數列表、返回類型、方法修飾符和方法拋出的異常五部分組成。
ü 方法名可以是任何有效的標識符,命名規則與標識符命名規則相同。不能爲 Java 中的關鍵字,不能包含空格或點號“.”可以下劃線“_”、字母或“$”符號開頭。
ü 類型說明符用來指定方法返回值的類型,方法最多隻能返回一個值。
ü 參數列表列出了一系列形式參數的類型和名稱,參數表以逗號爲分隔符,其中包含了方法被調用時傳遞給方法的參數說明。
public int getAge(String name){…方法體…}
方法體
方法頭定義了方法的性質,方法體則定義了方法的具體內容。
在一個方法中定義另一個方法將產生語法錯誤。
方法體中如果指定了非void的返回值類型,方法中就必須包含一條return
如何傳遞方法的參數?
ü 變量的值被傳遞給被調函數,並且對這個值的任何改變都不會影響被傳變量的原始值
ü 默認情況下,函數參數都是按值傳遞的
ü 參數值是通過臨時變量傳遞的
ü 所有操作都針對這些臨時變量
構造方法
public class Person {
public Person(){ //構造方法
}
}
Ps:構造方法又稱爲構造器構造方法沒有返回值類型,實例化類對象的時候,優先執行構造方法,構造方法有2種,分別是有參數的構造器和無參數的構造器。
構造方法的名稱必須跟類的名稱一致
無參構造:在實例化對象的時候,不需要通過構造器傳遞值,而是通過創建的方法傳遞參數;
有參構造:在實例化對象的時候,需要通過構造器傳遞參數。