❶ 什麼叫函數重載
函數重載是一個同名函數完成不同的功能,編譯系統在編譯階段通過函數參數個數、參數類型不同,函數的返回值來區分該調用哪一個函數,即實現的是靜態的多態性。但是記住:不能僅僅通過函數返回值不同來實現函數重載。
重載函數的多義性無法確定,直到遇到函數調用。 此時,將為函數調用中的每個參數生成集,並且可以確定是否存在明確的重載。 這意味著,多義性可保持在您的代碼中,直到它們由特定函數調用引發。
參數類型差異
重載函數區分使用不同的初始值設定項的參數類型。 因此,對於重載而言,給定類型的參數和對該類型的引用將視為相同。 由於它們採用相同的初始值設定項,因此它們被視為是相同的。 例如,max( double, double )被視為與max( double &, double & )相同。 聲明兩個此類函數會導致錯誤。
出於同一原因,對由const或volatile修改的類型的函數參數(出於重載的目的)的處理方式與基類沒有什麼不同。
但是,函數重載機制可以區分由const和volatile限定的引用和對基類型的引用。
❷ 簡述什麼是方法的重載,及什麼是方法的覆蓋。二者的區別是什麼
方法重載就是方法的參數不同
方法覆蓋就是方法的聲明和參數都一致
例如
class A
{
public void a()
{
}
}
class B
{
int i;
public void a(int i) //對類A的a()方法的重載
{
this.i=i;
}
public void a() //對類A的a()方法的覆蓋
{
System.out.println("a()");
}
}
❸ 什麼是方法重載方法重載的規則是什麼
方法重載是指在一個類中定義多個同名的方法,但要求每個方法具有不同的參數的類型或參數的個數。調用重載方法時,Java編譯器能通過檢查調用的方法的參數類型和個數選擇一個恰當的方法。方法重載通常用於創建完成一組任務相似但參數的類型或參數的個數或參數的順序不同的方法。
一、方法名一定要相同。
二、方法的參數表必須不同,包括參數的類型或個數,以此區分不同的方法體。
1、如果參數個數不同,就不管它的參數類型了!
2、如果參數個數相同,那麼參數的類型必須不同。
三、方法的返回類型、修飾符可以相同,也可不同。
(3)什麼是重載方法擴展閱讀:
Java的方法重載,就是在類中可以創建多個方法,它們可以有相同的名字,但必須具有不同的參數,即或者是參數的個數不同,或者是參數的類型不同。
調用方法時通過傳遞給它們的不同個數和類型的參數,以及傳入參數的順序來決定具體使用哪個方法。
❹ 什麼是 重載 為什麼要重載有何特點
一。重載就是多個方法使用一個方法名,但是參數的個數或類型不同,但他們的作用一般是相同的 。
二。可以通過傳遞不同的參數實現相同的效果。
三。發生在兩個或者是更多的函數具有相同的名字的情況下。
❺ 重載是什麼意思
重載,在一個類定義中,可以編寫幾個同名的方法,但是只要它們的簽名參數列表不同,Java就會將它們看做唯一的方法。簡單的說,一個類中的方法與另一個方法同名,但是參數表不同,這種方法稱之為重載方法。
❻ 解釋什麼是方法重載和方法重寫,並說出它們的作用
【重載】是指在一個類裡面可以有多個方法名字相同的不同方法。但是方法的參數個數,順序,不能相同,否則如何區分調用這些方法。
[作用]方便使用,如
System.out.print("It works.");
System.out.print(123456);//
這樣你就可以直接調用而不用去管參數的具體類型,系統會根據你傳遞過去的參數,去調用相應的方法。(print(int arg)或者print(String arg))
【重寫】是發生在當一個子類繼承一個父類的時候,可以重寫覆蓋原來父類裡面的方法(當然你也可以這幾調用),當然這個方法和父類的方法名稱一定要相同,參數也要相同,不然就不叫重寫了。注意:有final修飾的方法不可以重寫。
[作用]做你想做的,而不必大動干戈,加快開發。
你可以修改任何允許重載的類的方法,來達到你的目的,而不必重新寫一個類。
如:
public class Father {
public void who() {
System.out.print("I am father");
}
}
public class Son extends Father {
public void who() {
System.out.print("I am the son");
}
public static void main(String args[]) {
Father f=new Father();
f.who();
Son s=new Son();
s.who();
}
}
最後作點補充:你也可以重載父類裡面的方法。
❼ 簡述什麼是方法重載方法重載必須具備什麼樣的條件
方法重載就是在一個類裡面有方法的名字是一樣的,但是方法的參數不同,可以是參數類型不同也可以是參數的個數不同。給你舉個例子吧
class Area
{
float getArea(float r){
return 3.14*f*r;
}
double getArea(float x,int y){
return x*y;
}
float getArea(int x,float y){
return x*y;
}
double getArea(float x,float y,float z){
return (x*x+y*y+z*z)*2.0;
}
//還可以有其他的變數和方法什麼的……我就不多寫了……
}
註:方法的返回類型和參數的名字不參與比較,也就是說如果兩個方法的名字相同,即使類型不同,也必須保證參數不同。
方法重載的好處就在於當你調用方法的時候可以通過你傳入的參數的類型自動匹配方法,也就是為了突出面向對象的特點。
不曉得你明白了否……
❽ 什麼是重載
你在街上一個咖啡廳偶遇了她,一場轟轟烈烈的感情在你們兩個身上發生。如今十年過去了,你在那個咖啡廳再次偶遇上了她,你突然發現原來現在你對她已經沒啥感覺。
雖然是同樣的人,同樣的地方!但你的感情卻變了,你的感情在這里被重載了。
明白了把,重載就是對於同一個概念,同一個操作,因為條件不同而生成了不同的結果,或者多了一些東西,或者少了一些東西,或者根本就完全不同
1+1=2
a+b=ab
一堆沙+一堆沙=一堆沙。
同樣都是「+」,結果是不一樣的
ps:對於ls講重載效率低下,個人是不同意的,泛型編程的基礎就是重載,而泛型編程通常效率是很高的。當然這和泛型的機制有關,不過至少重側面說明效率低,並不是以為使用了重載,而是程序本身的運行機制決定了效率
❾ 什麼是方法重載
方法重載是指在一個類中定義多個同名的方法,但要求每個方法具有不同的參數的類型或參數的個數。