java se5和8_javaSE_8系列博客——Java语言的特性(三)--类和对象(5)--定义方法...
以下是一個典型的定義一個方法的示例:
public double calculateAnswer(double wingSpan, int numberOfEngines,
double length, double grossTons) {
//do the calculation here
}
方法聲明的唯一必需元素是方法的返回類型,名稱,一對括號()和大括號{}之間的正文。
更一般地說,方法聲明有六個組件,按順序:
修飾語 - 比如公共,私有和其他你以后會學到的。
返回類型 - 方法返回的值的數據類型,如果方法不返回值,則返回void。
方法名稱 - 字段名稱的規則也適用于方法名稱,但約定有所不同。比如,方法,更傾向于使用動詞作為開頭的單詞。
括號中的參數列表(以逗號分隔的輸入參數列表),前面是其數據類型,由括號()括起來。如果沒有參數,則必須使用空括號。
一個例外列表 - 稍后討論。
方法體,括在大括號之間 - 方法的代碼,包括局部變量的聲明,都在這里。
注意:
定義:方法聲明的兩個組件包括方法簽名——(方法的名稱和參數類型)
上述方法的簽名是:
calculateAnswer(double, int, double, double)
命名
雖然方法名稱可以是任何合法的標識符,但代碼約定限制方法名稱。按照慣例,方法名稱應該是小寫的動詞或以小寫開頭的多字詞名稱,后跟形容詞,名詞等。在多字名稱中,第二個和后面的每一個單詞的第一個字母應該大寫。這里有些例子:
run
runFast
getBackground
getFinalData
compareTo
setX
isEmpty
通常,方法在其類中具有唯一的名稱。但是,由于方法重載,方法可能與其他方法具有相同的名稱。
重載
Java編程語言支持重載方法,Java可以區分不同方法簽名的方法。這意味著如果一個類中的方法具有不同的參數列表,那么類中的方法可以具有相同的名稱(有一些資格將在題為“接口和繼承”的課程中討論)。
假設你有一個類可以使用書法繪制各種類型的數據(字符串,整數等等),并且包含繪制每個數據類型的方法。為每個方法使用一個新的名稱是麻煩的,例如drawString,drawInteger,drawFloat等等。在Java編程語言中,您可以對所有繪圖方法使用相同的名稱,但會向每個方法傳遞不同的參數列表。因此,數據繪圖類可能會聲明四個名為draw的方法,每個方法具有不同的參數列表。
public class DataArtist {
...
public void draw(String s) {
...
}
public void draw(int i) {
...
}
public void draw(double f) {
...
}
public void draw(int i, double f) {
...
}
}
重載方法的區別在于傳遞給方法的參數的數量和類型。在代碼示例中,draw(String s)和draw(int i)是不同的和唯一的方法,因為它們需要不同的參數類型。
您不能聲明具有相同名稱和相同數量和類型的參數的多個方法,因為編譯器無法將它們分開。
當區分方法時,編譯器不會考慮返回類型,因此即使有不同的返回類型,也不能聲明具有相同簽名的兩個方法。
注意:重載的方法應該謹慎使用,因為它們可以使代碼的可讀性降低
總結
以上是生活随笔為你收集整理的java se5和8_javaSE_8系列博客——Java语言的特性(三)--类和对象(5)--定义方法...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腾达路由器dns服务器未响应,腾达路由器
- 下一篇: c语言学生成绩查询系统2018,南昊网上