方法的使用及過載的使用

2021-09-20 06:47:45 字數 1969 閱讀 1806

方法是對乙個物件指定他可以做什麼!

是一段用來完成特定功能的**片段,類似於其它語言的函式。

例:人是乙個物件,人可以吃飯,玩遊戲,睡覺等等,吃飯,睡覺,玩遊戲就是方法!

方法用於定義該類或該類的例項的行為特徵和功能實現。

可以實現復用性!

物件導向中,整個程式的基本單位是類,方法是從屬於類和物件的!

對屬性進行安全性的封裝

實現步驟

1、對屬性進行私有化(private)!

2、對外提供公開的set/get方法!

提高了安全性

提高了復用性

隱藏了實現細節

減少寫**,需要用的時候直接呼叫即可!

無返回值時:

修飾符1 修飾符2 void 方法名(形參型別 形參名)

方法的呼叫:方法名(需要傳入的引數);

注: 實參型別必須與形參型別相同才可以傳入!

形參與實參可以有也可以沒有!

當方法有static靜態修飾符時,不需要new乙個物件,可直接呼叫。

當方法無static靜態修飾符時,需要new乙個方法所在類物件來呼叫。

例項

package cn.xjion.pro02;

/** * 測試方法的使用

* @author xjion

* */

public class testmothed

// 不需要傳參的無返回值普通方法

public void stady()

// 需要傳參的無返回值普通方法

public void english(int score)

// 不需要傳參的無返回值靜態方法

public static void ststady()

// 需要傳參的無返回值靜態方法

public static void stenglish(int score)

// 不需要傳參的有返回值普通方法

public int sum()

// 需要傳參的有返回值普通方法

public double score(int score)

// 不需要傳參的有返回值靜態方法

public static int stsum()

// 需要傳參的有返回值靜態方法

public static double stscore(int score)

}

什麼是過載:

方法的名稱相同但是方法的引數列表不同,我們就把它稱為過載。

過載的作用:

可以根據不同的引數個數,順序,型別,自動匹配方法。

減少寫過多方法名的重複步驟。

過載的優點:

不用為了對不同的引數型別或引數個數,而寫多個方法。多個方法用同乙個名字,但參數列,即引數的個數或(和)資料型別可以不同,呼叫的時候,雖然方法名字相同,但根據參數列可以自動呼叫對應的方法,就省去了記很多方法名的麻煩!

什麼時候應該使用過載:

當有兩個及兩個以上性質類似或者相同的方法時,我們就可以使用過載來完成,使得傳入不同的引數就能夠精確的找到需要呼叫的方法。

怎麼使用過載:

構成方法過載的條件(兩同三不同):

1.兩同:指同一類當中,同乙個方法名。

2.三不同的含義:形參型別、形參個數、形參順序不同

例:

public class testoverload 

//計算兩個整數的和

public static int add(int n1,int n2)

public static int add(int n1,int n2,int n3)

//形參的順序不同也能構成過載

public static double add(double n1,int n2)

public static double add(int n1,double n2)

}

方法過載的基本使用

package cn.itcast.day04.demo03 使用方法的時候,注意事項 1.方法應該定義在類當中,但是不能在方法當中再定義方法。不能巢狀。2.方法定義的前後順序無所謂。3.方法定義之後不會執行,如果希望執行,一定要呼叫 單獨呼叫 列印呼叫 賦值呼叫。4.如果方法有返回值,那麼必須寫上...

優先佇列及過載的使用

優先佇列 顧名思義,首先它是乙個佇列,但是它強調了 優先 二字,所以,已經不能算是一般意義上的佇列了,它的 優先 意指取隊首元素時,有一定的選擇性,即根據元素的屬性選擇某一項值最優的出隊 優先順序佇列是不同於先進先出佇列的另一種佇列。每次從佇列中取出的是具有最高優先權的元素 優先佇列是0個或多個元素...

方法的宣告及使用

方法就是一段可以重複呼叫的 塊,方法的定義格式 public static 返回值型別 方法名稱 型別 引數1,型別 引數2 public class methoddemo01 public static void printinfo 定義方法 定義字元陣列 for int x 0 x 迴圈輸出 s...