類和方法
1.類:
1.1:類的基本結構:
定義:java類由類頭和類體兩部分組成。定義格式如下:
【類修飾符】 class 類名【implements 接口名列表】{//當接口名多於一個的時候用,分開。
成員變量; //描述類的屬性(靜態特征)
構造方法; //初始化對象的特殊方法
成員方法; //類的行為(動態行為)
}
例如:
public class Person { int age;//成員變量 String name; public void run(){...}//成員方法 }
1.2:類的修飾符:
1.訪問控制符:public和默認
2.類型說明符:abstrsct和final
一起使用的時候:訪問控制符在前:例如public abstract class Dome就聲明了一個公共抽象類。
1.3:類的成員:
1.成員變量:(類中定義,描述對象將要有什么)
[<變量修飾符>] [static] [final] <變量類型><變量名>
2.成員方法:(類能夠實現的功能)
[方法修飾符] [static] 返回值類型 方法名(參數列表){
方法體
}
例如:
public int Lx(int y,int m){
return (y>m?y:m)
}
3.方法體中的局部變量:(類的方法中定義,在方法中臨時保存數據)
public class Num1 { int x=10;//定義成員變量 int y=20; public static void main(String[] args){ int x=100; //定義方法內部的局部變量 int y=200;{ int a=x+y; //定義復合語句內部的局部變量 System.out.println("a="+a); } Num1 ob=new Num1(); int a=ob.x+ob.y; //退出復合語句,可重新定義 System.out.println("a="+a); } }
運行結果:
2.方法:
2.1:方法的概述:
為什么要有方法:提高代碼的復用性。
什么是方法:完成特定功能的代碼塊。
方法的命名規則
- 1.方法的名字的第一個單詞應以小寫字母作為開頭,后面的單詞則用大寫字母開頭寫,不使用連接符。例如:addPerson。
- 2.下划線可能出現在 JUnit 測試方法名稱中用以分隔名稱的邏輯組件。一個典型的模式是:test<MethodUnderTest>_<state>,例如 testPop_emptyStack。
2.2:方法的定義格式:
修飾符 返回值類型 方法名(參數類型 參數名1,參數類型 參數名2...) {
方法體語句; return 返回值;
}
說明:
*修飾符:目前就用 public static。靜態修飾符static,還有最終修飾符final等。
* 返回值類型:限定方法返回值的數據類型。
* 方法名:符合命名規則即可。方便我們的調用。
* *參數:
* 實際參數:就是實際參與運算的。
* 形式參數;就是方法定義上的,用於接收實際參數的。
* 參數類型:就是參數的數據類型,用於限定調用方法時傳入參數的數據類型。
* 參數名:就是變量名
* 方法體語句:就是完成功能的代碼。定義該方法的功能。
* return:結束方法的。
* 返回值:就是功能的結果,由return帶給調用者。
注意:如果方法不需要接收任何參數,則參數列表為空,即()內不寫任何內容。方法的返回值必須為方法聲明的返回值類型。
如果方法中沒有返回值,返回值類型要聲明為void,此時,方法中return語句可以省略。
例如:
public static int Max(int num1,int num2){ int x; if(num1>num2) x=num1; else x=num2; return x; }
2.3:方法的定義和使用的注意事項
* a: 方法不能定義在另一個方法的里面
* b: 寫錯方法名字
* c: 寫錯了參數列表
* d: 方法返回值是void,方法中可以省略return 不寫 return 下面不能有代碼
* e 方法返回值類型,和return 后面數據類型必須匹配
* f: 方法重復定義問題
* g: 調用方法的時候,返回值是void, 不能寫在輸出語句中
2.4:方法的調用:
無參方法的調用:方法名()
有參方法的調用:方法名(實參列表)/*實參列表與定義方法的形參列表要一致*/
package com.number1.com; public class Max { /*主方法*/ public static void main(String[] args){ int i=2; int j=3; int k=max(i,j); System.out.println(i+"和"+j+"比較,較大的值是:"+k); } /*返回兩個整數變量較大的值*/ public static int max(int x,int y){ int result; if(x > y) result = x; else result = y; return result; } }
2.5:方法的重載:
定義:同一個類中允許同時存在一個以上的同名的方法
規則:
*方法名相同
*參數列表不同(個數/類型/)
*與返回值無關,可以相同,也可以不同。
2.6方法的重寫:
定義:對於從父類繼承來的方法進行改造。(子類繼承父類的時候發生)
規則:
*方法名相同
*方法的參數列表相同
*方法的返回值類型不同
*子類重寫方法的訪問權限要不小於父類中被覆蓋方法的訪問權限