java基礎總結10 物件導向6 方法的過載

2021-07-30 23:34:33 字數 1355 閱讀 4894

方法名一樣,但引數不一樣,這就是過載(overload)。

所謂的引數不一樣,主要有兩點:第一是引數的個數不一樣,第二是引數的型別不一樣。只要這兩方面有其中的一方面不一樣就可以構成方法的過載了。

package cn.galc.test;

public

class testoverload

/** int max(int a, int b)

*/void max(float a, float b)

}

這裡有void修飾符的兩個max方法名字相同,但它們的引數型別不一樣,所以可以構成過載。而int max(int a , int b)方法與void max(int a, int b)方法是不構成過載的,現在它們是重名的兩個方法,在乙個類中宣告兩個重名的方法是不允許的,編譯會出錯。方法名一樣,引數型別一樣,只有返回值不一樣,這個不構成過載,因為方法可以這麼呼叫,呼叫乙個方法時可以不使用的它返回值,所以當呼叫這兩個方法時,把整型的數傳進去,由於兩個方法都是一樣的名字,一樣的引數型別,所以編譯器無法區分到底要呼叫的是哪乙個方法。構成過載深層次的原因:只要這兩個方法編譯器能區分開來,在呼叫的時候知道要呼叫的是哪乙個,不會產生混淆,這兩個方法就構成過載。

再看下面這兩個方法:

int max(int a, int b) 

int max(short a, short b)

這兩個方法也是可以構成過載的,因為編譯器一看到整數,就會把它當作int型別。所以當把整數傳進來的時候,編譯器首先呼叫的是max(int a , int b)這個方法。而要想呼叫max(short a ,short b)這個方法,那麼就得在main方法裡面這樣寫:

public

static

void

main(string args)

與普通方法一樣,構造方法也可以過載

package cn.galc.test;

public

class

person

/*** 構造方法過載一

*@param i

*/public

person(int i)

/*** 構造方法過載二

*@param i

*@param j

*/public

person(int i,int j)

}

java物件導向6

介面 inet ce 當乙個抽象類中的方法都是抽象的時候,這時可以將該抽象類用 介面 inte ce來代替。格式 inte ce 介面中的成員修飾符是固定的 只能有這個兩種元素 成員變數 public static final 成員函式 public abstract 介面的出現將 多繼承 通過另一...

java物件導向總結

面對物件的概念 物件導向是相對於面向過程而言的,它早期是面向過程,經過不斷演化到了現在的物件導向。相同的地方是物件導向與面向過程都是一種思想,是思考問題的一種思考方式。不同點 面向過程 強調功能的行為 物件導向 將功能封裝進物件,強調具備了功能的物件 物件導向是基於面向過程的。物件導向是一種對現實世...

Java基礎 物件導向

1.理解物件導向 強調的是功能行為 將功能封裝進物件,強調具備了功能的物件。1.1 物件導向的好處 先要去找具有所需的功能的物件來用。如果該物件不存在,那麼建立乙個具有所需功能的物件。這樣簡化開發並提高復用。1.2 物件導向開發,設計,特徵 開發的過程 其實就是不斷的建立物件,使用物件,指揮物件做事...