首先經過C語言的學習,我們已經學會了基本的編程方法,我們知道C語言是面向過程的編程語言,而JAVA是面向對象的編程語言,所以接下來我們通過對比和舉例來進行JAVA語言的學習
首先我們來講類的概念
- 類:類是一個模板,它描述一類對象的行為和狀態。
在日常的生活當中,我們把具有相同屬性和行為的一類群體稱之為類
例如:有一個學生叫小明,他具有年齡,性別,學號,姓名的屬性和吃東西的行為,另一名學生叫做小方,他也具有年齡,性別,學號,姓名等屬性,吃東西的行為,所以我們可以將這些共有的屬性和行為提取出來,形成一個類,例如學生類(class),而小明,小方則是此類當中的一個對象(object)
- 對象:對象是類的一個實例,有狀態和行為。例如,一個學生是一個對象,它的狀態有:姓名,學號;行為有:吃東西等。
接下里我們通過c語言的自定義函數來橫向對比學習JAVA當中的方法
#include <stdio.h>int add(int a,int b){return a+b;
}int main(){int n1=3,n2=2;int n=add(n1,n2);printf("%d",n);return 0;
}
上圖是一個c語言當中的經典的自定義函數,我們來看,第三行自定義一個函數add,返回參數a與b的和,在下面主函數當中,把這個add函數調用,實現n1和n2數值的相加。
方法的概念、作用
方法(method),又稱函數(function),代表一段“獨立的”“可復用”的“功能”代碼。
作用:封裝了一個功能代碼,減少了代碼的冗余。
public class Demo {public static int add(int a, int b){return a+b;}public static void main(String[] args){int n1=3,n2=2;int n=add(n1,n2);System.out.println(n);}
}
上圖是java當中的方法的寫法,與c語言也是對應的,我們首先在測試類當中,定義一個add方法,之后再后面的主方法當中調用它,實現兩個數的相加
【修飾符】 返回值類型 方法名(【形參列表】){方法體語句
}
方法必須先聲明再使用
方法調用一次執行一次,不調用不執行
記住:Java程序的入口是main方法
形參實參
接下來我們來講的是方法當中的形參和實參,我們看上面add方法后的括號當中,定義了一個整形變量a和b,在接下來一行中,我們把a和b的值相加并由return返回這個值,這個a和b,我們稱之為形參,顧名思義是一個形式的參數,它的作用就是使得預先設定好在方法當中,調入的值該如何處理;而在主方法當中,我們調用add方法后面參數的n1和n2則是實參,同樣的它們是實際的參數,真正具有值的變量,這條語句的作用就是將實際的值放到我們設定好的方法當中執行。打個比方,客戶要求你做一個兒童滑梯(方法)讓兩個小孩子按照規定路線滑下去,你建好了滑梯,兩個小孩子從滑梯上滑下來完成了需求,滑梯就是形參(預先規定好的路線),小孩子就是實參(實際存在的值,需要方法來實現運算)。
public class Demo {public static int add(int a, int b){return a+b;}public static void main(String[] args){int n1=3,n2=2;int n=add(n1,n2);System.out.println(n);}}
在以上Java代碼當中 n1,n2在主函數當中,是實參,在方法add當中的a,b是形參。?
類的使用
我們將有共同屬性的對象抽象為一個學生類,在學生類當中,有學號、姓名等屬性,類就是具備某些共同特征的實體的集合,它是一種抽象的數據類型(它屬于引用數據類型),它是對所具有相同特征實體的抽象。
類當中有1.屬性 (成員變量) ;
2.行為 (成員方法(函數)) ;
在 Java 中定義類,使用關鍵字 class 完成。語法如下:
權限修飾符 class 類名稱 {屬性 (成員變量) ;行為 (成員方法(函數)) ;
}
例如:定義一個人類class?
public class Person {// 屬性 (成員變量) ;// 行為 (成員方法(函數)) ;
}
public 表示“共有”的意思。如果使用 public 修飾,則可以被其他類和程序訪問。每個 Java 程序的主類都必須是 public 類。
變量
在 Java 中類的成員變量定義了類的屬性。例如,一個人類中一般有體重、性別和年齡等屬性,這時就需要定義體重、性別和年齡 3 個屬性。
-
局部變量:在類的方法中定義的變量,且只能在該方法中使用,我們之前學習的變量都是局部變量;定義以后必須賦值才能使用;
-
成員變量:也稱為實例變量,它的定義在方法的外部,直接寫在類當中;隨著對象創建而誕生,隨著對象被垃圾回收而消失;如果是對某個對象的特殊描述,可以用該變量;定義時如果不賦值的話,會采用默認初始值;
-
靜態變量:也稱為類變量,實質上是一個全局變量。它的定義在方法的外部,直接寫在類當中,與類共存亡,它用 static 修飾,如果某個內容是被所有對象所共享,那么該內容就應該用 static 修飾;定義時如果不賦值的話,會采用默認初始值。
public class Demo {static int a; // 類變量int b; // 實例變量public static void main(String[] args) {int c; // 局部變量} }
成員方法
-
在 Java 中類的成員方法定義了類的行為。例如,一般人會有吃飯、睡覺和玩等行為,在定義人的類時,就需要定義吃飯、睡覺和玩 3 個方法。
-
類的各種功能操作都是用方法來實現的,屬性只不過提供了相應的數據。一個完整的方法通常包括方法名稱、方法主體、方法參數和方法返回值類型。
成員方法的聲明語法:
-
[權限修飾符] 返回值類型 方法名([參數類型 參數名]) {// 方法體// 返回值 }
返回值類型:我們之前學到的八種基本類型和 void 都可以用來做方法的返回值類型。要注意的是 void 表示沒有返回值,所以不需要寫返回值語句,而其他類型都需要返回一個該類型的值。
返回值語句:
return 返回的值;
-
參數類型 參數名:可以有多個,這些參數都要有自己的數據類型,可以是原始數據類型,也可以是復雜數據類型,一個方法主要依靠參數來傳遞消息。方法主體是方法中執行功能操作的語句。
現在我們已經學會了如何建立一個類?