java系列3:方法重載

例1:求絕對(duì)值

求絕對(duì)值

1肪虎、什么是方法重載

用于定義一組方法,這些方法具有相同的名稱对粪,并執(zhí)行類似的操作芯勘,但是卻使用不同的參數(shù)列表箱靴;
編譯器會(huì)根據(jù)調(diào)用時(shí)傳遞的實(shí)際參數(shù)自動(dòng)判斷具體調(diào)用的是哪個(gè)重載方法。

/*abs方法的重載*/
int abs(int x) {……}
float abs(float x) {……}
double abs(double x) {……}
long abs(long x) {……}

2荷愕、方法重載的3大原則

  • 同一作用域
屬于不同作用域衡怀,不構(gòu)成重載
  • 方法名相同

  • 參數(shù)不同

1、類型不同
2安疗、數(shù)量不同
3抛杨、順序不同

3、重載不考慮方法的返回值類型

方法重載和方法的返回值類型沒有任何關(guān)系荐类。也就是說怖现,只有返回值不同的方法不能構(gòu)成重載。

/*錯(cuò)誤的方法重載*/
void fun(int x) {……};
int fun(int x) {……};

4玉罐、很多編程語言已經(jīng)重載了輸出方法屈嗤,以便可以用相同的函數(shù)名稱輸出任何類型的數(shù)據(jù)。

5吊输、請(qǐng)勿將功能完全不同的方法進(jìn)行重載饶号。

方法重載-求絕對(duì)值
例子

例:方法重載

Calculator.java:

public class Calculator {
    public int add(int a, int b){
        int result = 0;
        result = a+b;
        return result;
    }
    public float add(int a, float b){
        float result = 0;
        result = a+b;
        return result;
    }

    public int add(int a, int b, int c){
        int result = 0;
        result = a+b+c;
        return result;
    }
    public float add(float a, float b){
        float result = 0;
        result = a+b;
        return result;
    }
}

UseCalculator.java:

public class UseCalculator {
    public static void main(String[] args) {
        //UseCalculator.java程序
        //使用計(jì)算器Calculator.java程序
        Calculator c = new Calculator();
        int result = c.add(3, 5);
        System.out.println
        ("兩數(shù)相加3和5,結(jié)果:"+result);
        float result1 = c.add(3.2f, 5.6f);
        System.out.println
        ("兩數(shù)相加3.2和5.6季蚂,結(jié)果:"+result1);
        int result2 = c.add(11, 12, 25);
        System.out.println
        ("三數(shù)相加11茫船、12、25扭屁,結(jié)果:"+result2);
    }

}

6透硝、重載構(gòu)造方法

方法重載的一個(gè)重要應(yīng)用就是重載構(gòu)造方法。
可以定義一組構(gòu)造方法疯搅,使其構(gòu)成重載關(guān)系,從而方便使用者能夠靈活地以各種不同的方式來實(shí)例化對(duì)象埋泵。

例:

package test;

class MyTime {  //定義時(shí)間類
    private int mHour, mMinute, mSecond;  //三個(gè)成員變量幔欧,時(shí)罪治、分、秒
    public MyTime() {  //構(gòu)造方法重載1
        mHour = 0;
        mMinute = 0;
        mSecond = 0;
    }
    public MyTime(int hour) {  //構(gòu)造方法重載2
        mHour = hour;
        mMinute = 0;
        mSecond = 0;
    }
    public MyTime(int hour, int minute) {  //構(gòu)造方法重載3
        mHour = hour;
        mMinute = minute;
        mSecond = 0;
    }
    public MyTime(int hour, int minute, int second) {  //構(gòu)造方法重載4
        mHour = hour;
        mMinute = minute;
        mSecond = second;
    }
    public void display() {  //顯示時(shí)間信息的方法
        System.out.println(mHour + ":" + mMinute + ":" + mSecond);
    }
}

/*測(cè)試時(shí)間類*/
public class Test
{
    /*main方法礁蔗,程序入口*/
    public static void main(String[] args)
    {
        //分別調(diào)用不同的構(gòu)造方法來初始化時(shí)間對(duì)象
        MyTime t1 = new MyTime();  //調(diào)用重載方式1
        t1.display();
        MyTime t2 = new MyTime(8);  //調(diào)用重載方式2
        t2.display();
        MyTime t3 = new MyTime(8, 30);  //調(diào)用重載方式3
        t3.display();
        MyTime t4 = new MyTime(8, 30, 30);  //調(diào)用重載方式4
        t4.display();
        }
}
運(yùn)行結(jié)果
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末觉义,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子浴井,更是在濱河造成了極大的恐慌晒骇,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件磺浙,死亡現(xiàn)場(chǎng)離奇詭異洪囤,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)撕氧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門瘤缩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人伦泥,你說我怎么就攤上這事剥啤。” “怎么了不脯?”我有些...
    開封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵府怯,是天一觀的道長。 經(jīng)常有香客問我防楷,道長牺丙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任域帐,我火速辦了婚禮赘被,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘肖揣。我一直安慰自己民假,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開白布龙优。 她就那樣靜靜地躺著羊异,像睡著了一般。 火紅的嫁衣襯著肌膚如雪彤断。 梳的紋絲不亂的頭發(fā)上野舶,一...
    開封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音宰衙,去河邊找鬼平道。 笑死,一個(gè)胖子當(dāng)著我的面吹牛供炼,可吹牛的內(nèi)容都是我干的一屋。 我是一名探鬼主播窘疮,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼冀墨!你這毒婦竟也來了闸衫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤诽嘉,失蹤者是張志新(化名)和其女友劉穎蔚出,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體虫腋,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡骄酗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了岔乔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酥筝。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖雏门,靈堂內(nèi)的尸體忽然破棺而出嘿歌,到底是詐尸還是另有隱情,我是刑警寧澤茁影,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布宙帝,位于F島的核電站,受9級(jí)特大地震影響募闲,放射性物質(zhì)發(fā)生泄漏步脓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一浩螺、第九天 我趴在偏房一處隱蔽的房頂上張望靴患。 院中可真熱鬧,春花似錦要出、人聲如沸鸳君。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽或颊。三九已至,卻和暖如春传于,著一層夾襖步出監(jiān)牢的瞬間囱挑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來泰國打工沼溜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留平挑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓系草,卻偏偏與公主長得像弹惦,于是被迫代替她去往敵國和親否淤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,216評(píng)論 0 4
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法棠隐,類相關(guān)的語法,內(nèi)部類的語法檐嚣,繼承相關(guān)的語法助泽,異常的語法,線程的語...
    子非魚_t_閱讀 31,598評(píng)論 18 399
  • 前言 人生苦多嚎京,快來 Kotlin 嗡贺,快速學(xué)習(xí)Kotlin! 什么是Kotlin鞍帝? Kotlin 是種靜態(tài)類型編程...
    任半生囂狂閱讀 26,168評(píng)論 9 118
  • 先看幾組對(duì)話帕涌。 爸問:我和你媽吵架摄凡,你站哪一邊?我答:站旁邊蚓曼。 A:等我瘦了就娶我好嗎亲澡?B:不想嫁我就直說。 老師...
    齊漾閱讀 462評(píng)論 2 5
  • 農(nóng)村娃娃的生活癞己,百看不厭呀! 農(nóng)村土梭伐,農(nóng)村地痹雅, 農(nóng)村娃娃有骨氣! 農(nóng)村山籽御,農(nóng)村樹练慕, 農(nóng)村也有樓房住技掏! 農(nóng)村豬铃将,農(nóng)村...
    依笑夢(mèng)三年閱讀 245評(píng)論 0 0