Java-方法講解_CodingPark編程公園

問題拋出

看書時突然看到了如下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

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章