導航:首頁 > 研究方法 > 簡述什麼叫方法重載

簡述什麼叫方法重載

發布時間:2022-08-07 14:19:03

A. 簡述什麼是方法的重載,及什麼是方法的覆蓋。二者的區別是什麼

方法重載就是方法的參數不同
方法覆蓋就是方法的聲明和參數都一致
例如
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()");
}
}

B. 什麼是重載方法,什麼是覆蓋方法,主要區別

一、重載方法:方法重載是指在一個類中定義多個同名的方法,但要求每個方法具有不同的參數的類型或參數的個數。調用重載方法時,Java編譯器能通過檢查調用的方法的參數類型和個數選擇一個恰當的方法。

方法重載通常用於創建完成一組任務相似但參數的類型或參數的個數或參數的順序不同的方法。Java的方法重載,就是在類中可以創建多個方法,它們可以有相同的名字,但必須具有不同的參數,即或者是參數的個數不同,或者是參數的類型不同。

調用方法時通過傳遞給它們的不同個數和類型的參數,以及傳入參數的順序來決定具體使用哪個方法

二、覆蓋方法:在Java中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類並不想原封不動地繼承父類的方法,而是想做一定的修改,這就需要採用方法的重寫。方法重寫又稱方法覆蓋。

兩者的區別:

1、子類與父類的關系不同:覆蓋方法中的子類與父類之間是垂直關系;在重載方法中因為兩個方法在同一個類中,所以是不同方法之間的水平關系。

2、映射關系不同:覆蓋只能由一個方法,或只能由一對方法產生關系;在重載方法時,多個方法之間發生變化。

3、對於參數列表的需求不同:覆蓋要求參數列表相同;重載要求參數列表不同。

(2)簡述什麼叫方法重載擴展閱讀:

java的特點:

1、高性能

Java是一種先編譯後解釋的語言,所以它不如全編譯性語言快。但是有些情況下性能是很要緊的,為了支持這些情況,Java設計者製作了「及時」編譯程序,它能在運行時把Java位元組碼翻譯成特定CPU的機器代碼,也就是實現全編譯了。

Java位元組碼格式設計時考慮到這些「及時」編譯程序的需要,所以生成機器代碼的過程相當簡單,它能產生相當好的代碼。

2、多線索性

Java是多線索語言,它提供支持多線索的執行,能處理不同任務,使具有線索的程序設計很容易。Java的lang包提供一個Thread類,它支持開始線索、運行線索、停止線索和檢查線索狀態的方法。

Java的線索支持也包括一組同步原語。這些原語是基於監督程序和條件變數風范,由C.A.R.Haore開發的廣泛使用的同步化方案。用關鍵詞synchronized,程序員可以說明某些方法在一個類中不能並發地運行。這些方法在監督程序控制之下,確保變數維持在一個一致的狀態。

3、動態性

Java語言設計成適應於變化的環境,它是一個動態的語言。例如,Java中的類是根據需要載入的,甚至有些是通過網路獲取的。

參考資料來源:

網路-方法重載

網路-方法覆蓋

C. 什麼是方法重載構造方法可以重載嗎

可以啊!構造方法重載,在一個構造方法中調用另一個構造方法是用this

D. 什麼是方法重載構造方法可以重載嗎

重載Overload表示同一個類中可以有多個名稱相同的方法,但這些方法的參數列表各不相同(即參數個數或類型不同)。
構造方法可以重載。

E. java中方法的重載是什麼意思

覆蓋是override方法重寫 重載是overload
按照教科書上的定義,重載就是具有相同函數名,返回類型可以不同,參數個數、順序、類型不同的函數。我的理解是重載是發生在兩個或者是更多的函數具有相同的名字的情況下。
重寫就是覆蓋父類的方法,和父類有相同返回類型,參數,甚至是拋出的異常,重寫方法不能為private,運用中最典型的就是對介面方法的覆蓋。方法的重寫Overriding和重載Overloading是Java多態性的不同表現.
重寫Overriding是父類和子類之間多態性的一種表現;如果在子類中定義某方法和其父類有相同的名稱和參數,我們說該方法被重寫 (Overriding).子類的對象使用這個方法時,將調用子類中的定義,對他而言,父類中的定義如同被"屏蔽"了.
重載Overloading是個類中多態性的一種表現;如果在一個類中定義了多個同名的方法,他們或有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading).重載的方法是能改動返回值的類型.

現實例子:你對比上面看,比如一老爹是木工。兒子繼承老爹也是木工。
老爹有個做櫃子的獨特技術(方法),只需要用到工具錘子和木頭(參數),
兒子根據老爹這個做櫃子的技術延伸出很多種技術,他懶得再起名就也對外宣稱叫做櫃子獨特技術。
1個繼承自老爹,相同的方法名,相同的工具,但有自己的想法,工序有改動。兒子做木工活用到這個技術方法的話就叫重寫。
另外的自創,但也叫做櫃子獨特技術,但用工具不同有:
木頭。(兒子牛,不用錘子照樣做櫃子。。。)
鋸子,木頭。(也是木頭櫃子)
錘子,鐵皮。(鐵皮櫃子)
以上3中為重載。
明白?不明白給我發消息。呵呵~

F. 簡述什麼是方法重載方法重載必須具備什麼樣的條件

方法重載就是在一個類裡面有方法的名字是一樣的,但是方法的參數不同,可以是參數類型不同也可以是參數的個數不同。給你舉個例子吧
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;
}
//還可以有其他的變數和方法什麼的……我就不多寫了……
}
註:方法的返回類型和參數的名字不參與比較,也就是說如果兩個方法的名字相同,即使類型不同,也必須保證參數不同。
方法重載的好處就在於當你調用方法的時候可以通過你傳入的參數的類型自動匹配方法,也就是為了突出面向對象的特點。
不曉得你明白了否……

G. 什麼叫做方法的重載,高手可以舉個例子嗎

在Java 中,同一個類中的2個或2個以上的方法可以有同一個名字,只要它們的參數聲明不同即可。在這種情況下,該方法就被稱為重載(overloaded),這個過程稱為方法重載(method overloading)。方法重載是Java 實現多態性的一種方式。
舉個簡單的例子
public class A{
public int method (int i){
//方法一,只有一個int類型參數

}

public int method (int i,String s){
//方法一,有一個int類型參數和一個String類型參數

}

public static void main(String args[]){
A a=enw A();
a.method (2);//調用第一個方法
a.method(2,"ssss")//調用第二個方法

}

}

這樣說得夠清楚了,自己理解!

H. 在C#,什麼叫做方法重載,怎樣實現方法重載,

重載是指方法名稱相同,
只是參數個數或類型不同.
方法功能是相同的.
除了重載,
還要了解以下幾個關鍵字的用法,與區別:
virtual
定義為虛方法
override
對虛方法實現,具有多態性
new
把基類中的同名方法替換掉,
不具有多態性
//舉個例子
//不使用方法重載
public
string
GetString(string
strValues)
{
if(strValues.Length==0)
{
return
"今天我遇到無名了。。。。";
}
return
"Hello,"+strValues+"兄";
}
//使用重載就是
public
string
GetString()
{
return
GetString("我是無名。。。你是?");
}
public
string
GetString(string
strValues)
{
return
strValues;
}

I. 方法的重載

在講述方法重載的概念之前,我們先來看一下Console.WriteLine()方法.如果在控制台輸出一個整數的值,代碼如下:
int i;
Console.WriteLine(i)
如果輸出一個字元串,代碼如下:
string s=」hello world」;
Console.WriteLine(s);
看到上面年的代碼我們會不會有疑問? WriteLine()方法的參數到底是什麼?如果他是int 型,那編譯第二個例子就會出錯?
但實際上編譯不會出錯,運行後也能得到預期的效果,為什麼呢?
答案是Consle類存在不同的WriteLine()方法,他們名稱相同但是參數不同.
下面我們例舉一些WriteLine()方法:

像Consle這樣有多個同名的方法的現象稱為方法重載.
方法重載的定義是:
可以在一個類中定義多個同名的方法,這些方法通過不同的參數類型或者參數的個數來區分.
注意:不能僅僅通過返回值類型的不同來定義多個方法.例如下面的代碼在編譯時將會出錯.
class Myclass
{
public int add(int x,int y)
{
int i=x+y;
return i;
}
public static string add(int x,int y)
{
int i=x+y;
return i.ToString();
}
}
下面的例子定義了IsEqual()方法的兩個重載,分別用來判斷整數和兩個字元串是否相等.
using System;

namespace ConsoleApplication3
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
bool b1 = MyClass.IsEqual(3, 5);
bool b2 = MyClass.IsEqual("abc", "ABC");
Console.WriteLine(b1);
Console.WriteLine(b2);
Console.ReadLine();
}
}

class MyClass
{
public static bool IsEqual(int x, int y)
{
if (x == y)
{
return true;
}
else
{
return false;
}
}

public static bool IsEqual(string s1, string s2)
{
if (s1 == s2)
{
return true;
}
else
{
return false;
}
}
}
}
一個方法可以有多少個重載是沒有限制的,就好象他們是碰巧同名的不同方法而已.
例如:
MessageBox類調用靜態方法Show(),該方法有多個重載,一個較常用的重載格式為:

public static DialogResult Show(
string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon);
該重載用於顯示具有制定文本,標題,按鈕,圖標的消息框。其中text是指要顯示的文本,caption是指要在消息框的標題欄中顯示的文本,buttons是MessageBoxButtons的枚舉值之一,表1;可指定在消息框中顯示哪些按鈕,icon是MessageBoxIcon 的枚舉值之一。表2

成員名稱 說明

AbortRetryIgnore 消息框包含「中止」、「重試」和「忽略」按鈕。

OK 消息框包含「確定」按鈕。

OKCancel 消息框包含「確定」和「取消」按鈕。

RetryCancel 消息框包含「重試」和「取消」按鈕。

YesNo 消息框包含「是」和「否」按鈕。

YesNoCancel 消息框包含「是」、「否」和「取消」按鈕。

例如private void button1_Click(object sender, System.EventArgs e) {
string str;
if(textBox1.Text == "") {
MessageBox.Show("You must enter a name.", "Name Entry Error",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else {
// Code to act on the data entered would go here.
str=textBox1.Text;
}
}

表2
成員名稱 說明

Asterisk 該消息框包含一個符號,該符號是由一個圓圈及其中的小寫字母 i 組成的。
Error 該消息框包含一個符號,該符號是由一個紅色背景的圓圈及其中的白色 X 組成的。

Exclamation 該消息框包含一個符號,該符號是由一個黃色背景的三角形及其中的一個感嘆號組成的。

Hand 該消息框包含一個符號,該符號是由一個紅色背景的圓圈及其中的白色 X 組成的。
Information 該消息框包含一個符號,該符號是由一個圓圈及其中的小寫字母 i 組成的。

None 消息框未包含符號。

Question 該消息框包含一個符號,該符號是由一個圓圈和其中的一個問號組成的。
Stop 該消息框包含一個符號,該符號是由一個紅色背景的圓圈及其中的白色 X 組成的。
Warning 該消息框包含一個符號,該符號是由一個黃色背景的三角形及其中的一個感嘆號組成的。

再比如:
MessageBox.Show(「是否重新輸入數據?」,」我的消息框」, MessageBoxButtons.OKCancel, MessageBoxIcon. Question);
當關閉消息框時,知道用戶單擊哪個那牛非常重要。例如:如果用戶單擊了確定按鈕,則執行某種操作;如果單擊了取消按鈕,則不執行任何操作。可以通過Show()方法的返回值來判斷用戶多做的選擇,Show()方法的返回值是DialogResult值之一。
DialogResult枚舉值:
值 Cancel :對話框的返回值Cancel (由標簽為取消的按鈕發送)
值 OK:對話框的返回值是OK(通常由標簽為「確定」的按鈕發送)
值 Yes:對話框的返回值是Yes(通常由標簽為「是」的按鈕發送)
值 No:對話框的返回值是No(通常由標簽為「否」的按鈕發送)
例子:
在關閉應用程序的時候,系統會彈出對話框來提示用戶是否要退出應用程序,單擊是就退出,單擊否,則不會退出,模擬一下。
Code\7\Example1.

J. 什麼是方法重載

方法重載是指在一個類中定義多個同名的方法,但要求每個方法具有不同的參數的類型或參數的個數。

閱讀全文

與簡述什麼叫方法重載相關的資料

熱點內容
生肖牛茅台王子酒鑒別方法 瀏覽:919
財務行業分析方法 瀏覽:435
微信用各種方法解封不了怎麼辦 瀏覽:394
小米5s系統下載在哪裡設置方法 瀏覽:713
裂紋舌的中醫治療方法 瀏覽:235
腰突的按摩治療方法 瀏覽:43
還幼眼霜使用方法 瀏覽:475
護理如何帶教方法 瀏覽:634
木瓜籽的功效與作用及食用方法 瀏覽:740
手機電池正極焊接方法 瀏覽:135
痘痘肌最正確化妝方法 瀏覽:651
uv平板手機殼列印方法 瀏覽:177
苦苦碟子食用方法 瀏覽:984
文章如何展開論述答題方法 瀏覽:889
薺菜怎麼做好吃又簡單的方法 瀏覽:190
鼻子血管破裂治療方法 瀏覽:233
解決立體問題的方法 瀏覽:198
狗狗流口水有什麼好方法 瀏覽:787
豬血的製作方法怎麼做好吃 瀏覽:518
玉米面條怎麼製作方法 瀏覽:621