問題拋出
看書時突然看到了如下Java代碼,懵了一下,所以決定複習一下Java方法相關知識
/**
* 完全切分式的中文分詞算法
*
* @param text 待分詞的文本
* @param dictionary 詞典
* @return 單詞列表
*/
public static List<String> segmentFully(String text, Map<String, CoreDictionary.Attribute> dictionary)
{
List<String> wordList = new LinkedList<String>();
for (int i = 0; i < text.length(); ++i)
{
for (int j = i + 1; j <= text.length(); ++j)
{
String word = text.substring(i, j);
if (dictionary.containsKey(word))
{
wordList.add(word);
}
}
}
return wordList;
}
}
基礎知識
一 帶參數,無返回值的方法
調用帶參方法與調用無參方法的語法類似,但在調用時必須傳入實際的參數值
例如:
很多時候,我們把定義方法時的參數稱爲形參,目的是用來定義方法需要傳入的參數的個數和類型;把調用方法時的參數稱爲實參,是傳遞給方法真正被處理的值。
1 方法的參數可以是基本數據類型,如 int、double 等,也可以是引用數據類型,如 String、數組等
2 當方法參數有多個時,多個參數間以逗號分隔
二 帶參,帶返回值的方法
定義了一個 show 方法,帶有一個參數 name ,方法執行後返回一個 String 類型的結果
調用帶參帶返回值的方法
三 方法的重載
如果同一個類中包含了兩個或兩個以上方法名相同、方法參數的個數、順序或類型不同的方法,則稱爲方法的重載,也可稱該方法被重載了。如下所示 4 個方法名稱都爲 show ,但方法的參數有所不同,因此都屬於方法的重載
當調用被重載的方法時, Java 會根據參數的個數和類型來判斷應該調用哪個重載方法,參數完全匹配的方法將被執行
我的總結
- ⚠️牢記main中只能調用靜態, 因爲main就是static的
- 創建一個Java類: Student.java,然後在此類中含有2個全局的靜態屬性:name,age.
- 另外還有1個全局的非靜態屬性:score.
- 要求在main方法中定義及調用以下三個不同的方法:(方法名任意)
- 方法1) 靜態,無返回值,含參數 (要求: 用含參方法的參數進行賦值)
- 方法2) 靜態,有返回值,不含參
- 方法3)** 非靜態,有返回值,含參數** (要求: 用含參方法的參數進行賦值)
- 這個類中一共有三個屬性,要求每個方法分別對一個屬性進行賦值並打印出結果.
public class Student {
static String name;
static int age;
int score;
public static void main(String[] args) {
//調用靜態方法可以直接調用
myName("楊四郎");
//創建對象,對屬性賦值
Student myage = new Student();
myage.age = 20;
System.out.println("我的年齡是:"+age);
//調用靜態方法可以直接調用
Student myscore = new Student();
myscore.myScore(100);
}
// 方法1) 靜態,無返回值,含參數 (要求: 用含參方法的參數進行賦值)
public static void myName(String myname) {
name = myname;
System.out.println("我的名字是:"+name);
}
// 方法2) 靜態,有返回值,不含參
public static int myAge(){
age = 1;
return age;
}
// 方法3) 非靜態,有返回值,含參數 (要求: 用含參方法的參數進行賦值)
public int myScore(int myscore){
score = myscore;
System.out.println("我的分數是"+score+"分,不客氣。");
return score;
}
}
特別鳴謝
📍java中靜態,有無返回值,有無參數及調用方法
https://blog.csdn.net/yang5726685/article/details/53129970?utm_source=blogxgwz7
📍Java 中帶參無返回、帶參帶返回值、方法的重載
https://blog.csdn.net/yezongzhen/article/details/80294980