方法重写和重载的区别

方法重载和方法重写的概念和区别

方法重载是让类以统一的方式处理不同类型数据的一种手段。下面是整理的方法重载和方法重写的概念和区别,希望对大家有所帮助。

方法重载和方法重写的概念和区别

搜索量:昨日访问量TOP6000(内部统计)载和方法重写的概念和区别,希望大家喜欢!

重载:一个类中有一个方法A,你又在这个类中创建了一个方法B,方法B的名字和A一样,返回值类型也一样,但是参数的类型或个数不同,此时B重载了A。

例如:

public class TestClass{

public int test(int i){return 1;}

public int test(float f){return 1;}

}

重写:一个类M继承另一个类N,N中有一个方法A,这时你在M写了一个方法B,方法B的名字、返回值以及参数都和A一样,此时B重写了A。

例如:

public class TestClass1{

public int test(int i){return 1;}

}

public class TestClass2 extends TestClass1{

public int test(int i){return 2;}

}

方法重载:同一个类中,方法名相同,参数不同,方法体不同;

方法重写:不同的类中,方法体不同,参数相同,方法名也相同。

(两同两不同)

方法重载的作用: 在有多个同名参数的类中,在调用时通过不同的参数来调用不同的方法。

方法重写的作用: 在继承中,子类可用方法重写,对父类进行扩充或改造。

用java重载的方法

public static double max(double num1, double num2) {

if (num1 > num2)

return num1;

else

return num2;

}

如果你调用max方法时传递的是int型参数,则 int型参数的max方法就会被调用;

如果传递的事double型参数,则double类型的max方法体会被调用,这叫做方法重载;

就是说一个类的两个方法拥有相同的名字,但是有不同的参数列表。

Java编译器根据方法签名判断哪个方法应该被调用。

方法重载可以让程序更清晰易读。执行密切相关任务的方法应该使用相同的名字。

重载的方法必须拥有不同的参数列表。你不能仅仅依据修饰符或者返回类型的不同来重载方法。

PHP中子类重载父类的方法介绍

在PHP中不能定义重名的函数,也包括不能再同一个类中定义重名的方法,所以也就没有方法重载。单在子类中可以定义和父类重名的.方法,因为父类的方法已经在子类中存在,这样在子类中就可以把从父类中继承过来的方法重写。

子类中重载父类的方法就是在子类中覆盖从父类中继承过来的方法,父类中的方法被子类继承过来不就可以直接使用吗?为什么还要重载呢?因为有一些情况我们必须要覆盖的。例如,有一个“鸟”类,在这个类中定义了鸟的通用方法“飞翔”。将“鸵鸟”类作为它的子类,就会将“飞翔”的方法继承过来,但只要一调用“鸵鸟”类中的这个“飞翔”的方法,鸵鸟就会飞走。虽然鸵鸟是不会飞的,但其他特性都具有“鸟类”的特性,所以在声明“鸵鸟”类时还是可以继承“鸟”类的,但必须在“鸵鸟”类中将“鸟”类中继承过来的“飞翔”方法改写,就需要在子类中重载父类中的方法。

在下面的例子中,声明的Person类中有一个“说话”方法,Student类继承Person类后可以直接使用“说话”方法。但Person类中的“说话”方法只能说出它自己的成员属性,而Student类对Person类进行了扩展,多添加了几个新的成员属性。代码如下所示:

name = $name;$this ->sex = $sex;$this ->age = $age;}//在人类中声明一个通用的说话方法,介绍一下自己function say(){echo "我的名字:".$this-> name.",性别:".$this ->sex.",年龄:".$this ->age."。

";}}//声明一个学生类,使用extends关键字扩展(继承)person类class Student extends Person {private $school; //在学生类中声明一个所在学校school的成员属性//覆盖父类中的构造方法,在参数列表中添加一个学校属性,用来创建对象并初始化成员属性function __construct($name="",$sex="男",$age=1,$school=""){$this ->name = $name;$this ->sex = $sex;$this ->age = $age;$this ->school = $school;}function study(){echo $this ->name."正在".$this ->school."学习

";}//定义一个和父类中同名的方法,将父类中的说话方法覆盖并重写,多说出所在的学校名称function say(){echo "我的名字:".$this ->name.",性别:".$this ->sex.",年龄:".$this ->age.",在".$this ->school."学校上学

";}}$student= new Student("张三","男",20,"edu"); //创建一个学生对象,并传给一个学校名称参数$student -> say(); //调用学生类中覆盖父类的说话方法?>

改程序运行后输出的结果为:

我的名字叫:张三,性别:男,我的年龄是:20,在edu学校上学

在PHP中,提供了在子类重载的方法中调用父类被覆盖方法的功能。这样就可以在子类重写的方法中,继续使用从父类继承过来并被覆盖的方法,然后再按要求多添加一些新功能。调用的格式是使用“parent:方法名”在子类的重载方法中调用父类中被覆盖的方法。将上例中的代码修改一下,在子类重写的构造方法中使用“parent::__construct()”调用父类中被覆盖的构造方法,再多添加一条对子类中新扩展的成员属性初始化的代码。在子类中重写的say()方法中使用“parent::say()”调用父类中被覆盖的say()方法,再添加上输出子类成员属性的功能。

代码如下所示:

name = $name;$this ->sex = $sex;$this ->age = $age;}//在人类中声明一个通用的说话方法,介绍一下自己function say(){echo "我的名字:".$this-> name.",性别:".$this ->sex.",年龄:".$this ->age."。 ";}}//声明一个学生类,使用extends关键字扩展(继承)person类class Student extends Person {private $school; //在学生类中声明一个所在学校school的成员属性//覆盖父类中的构造方法,在参数列表中添加一个学校属性,用来创建对象并初始化成员属性function __construct($name="",$sex="男",$age=1,$school=""){//调用父类中被覆盖的构造方法,为从父类中集成过来额出行赋初值parent::__construct($name,$sex,$age);$this ->school = $school;}function study(){echo $this ->name."正在".$this ->school."学习

";}//定义一个和父类中同名的方法,将父类中的说话方法覆盖并重写,多说出所在的学校名称function say(){parent::say(); //调用父类中被本方法覆盖掉的方法echo "在".$this ->school."学校上学

";}}$student= new Student("张三","男",20,"edu"); //创建一个学生对象,并传给一个学校名称参数$student -> say(); //调用学生类中覆盖父类的说话方法?

上面的例子输出的结果和前一个例子是一样的,但在本例中通过在子类中直接调用父类中被覆盖的方法要简便很多。另外,在子类覆盖父类的方法时一定要注意,在子类中重写的方法访问权限一定不能低于父类被覆盖的方法的访问权限。例如,如果父类中的访问权限是protected,那么在子类中重写的方法的权限就要是protected或public。

方法重写和重载的区别

转载请注明出处记得学习 » 方法重写和重载的区别

学习

开业花篮祝贺词怎么写

阅读(144)

本文为您介绍开业花篮祝贺词怎么写,内容包括开业花篮祝贺词,开业花篮祝贺词两个,服装店开业花篮祝贺词怎么写。开业花篮祝贺词选定一个旗开得胜的日子,迈出一次挑战自我的步子,唱响一曲百折不饶的颂歌,谱写一部成长壮大的历史。下面是精心

学习

云淡风轻句子

阅读(124)

本文为您介绍云淡风轻句子,内容包括云淡风轻的句子,云淡风轻的句子经典语录,云淡风轻的秋天的句子。云淡风轻的句子1.云淡风轻,是归途中最美的心情,云淡风轻的句子。2.不见,不贱,随着时间的增长,一切终会云淡风轻。3.你云淡风轻的离去,我要拼

学习

花篮祝福语怎么写

阅读(125)

本文为您介绍花篮祝福语怎么写,内容包括花篮祝福语,花篮祝福语简短霸气,花篮祝福语大全简短。花篮祝福语无论是身处学校还是步入社会,大家或多或少都会用到过祝福语吧,祝福语的类型多样,可以是感动的,兴奋的,幽默的。其实很多朋友都不太清楚

学习

开业花篮上的贺词简短

阅读(133)

本文为您介绍开业花篮上的贺词简短,内容包括开业花篮上的贺词,开业花篮上的贺词落款,开业花篮飘带贺词。开业花篮上的贺词在平时的学习、工作或生活中,说到贺词,大家肯定都不陌生吧,贺词是在喜庆的仪式上所说的对人对事表示祝贺的话。你所

学习

师傅对徒弟的寄语简短

阅读(127)

本文为您介绍师傅对徒弟的寄语简短,内容包括师傅给徒弟的赠言大全,师徒结对徒弟对师傅赠言,师傅给徒弟赠言。师傅给徒弟的赠言大全智慧往往隐藏在一个人每时每刻的思索和学习中。只有付出才会有收获。记住哦,别再在学习上偷懒了!下面和一

学习

花篮插花技巧新手入门

阅读(206)

本文为您介绍花篮插花技巧新手入门,内容包括花篮插花技巧,花篮插花搭配,花篮插花教程口诀。花篮插花技巧花是一门优雅的艺术,不管是婚礼上、晚会上,漂亮花儿的装饰总是少不了。下面,就教教大家花篮插花技巧,快来学学吧!一、花篮的类型1.艺

学习

师傅鼓励徒弟的话怎么说

阅读(122)

本文为您介绍师傅鼓励徒弟的话怎么说,内容包括师傅鼓励徒弟的话,师傅对徒弟的鼓励寄语大全,对徒弟的鼓励话语。师傅鼓励徒弟的话忍别人所不能忍的痛,吃别人所别人所不能吃的苦,是为了收获得不到的收获。下面是语文迷收集整理的关于师傅鼓

学习

爱情轻小说免费全文阅读

阅读(108)

本文为您介绍爱情轻小说免费全文阅读,内容包括爱情轻小说,爱情轻小说最新章节,爱情小说免费。爱情轻小说在平平淡淡的日常中,大家都不可避免地要接触到小说吧,下面是帮大家整理的爱情轻小说,供大家参考借鉴,希望可以帮助到有需要的朋友。爱

学习

成语风轻云淡的解释

阅读(107)

本文为您介绍成语风轻云淡的解释,内容包括风轻云淡成语解释,风轻云淡词语解释,风轻云淡相似成语。风轻云淡成语解释成语是语言中经过长期使用、锤炼而形成的固定短语,它是比词大而语法功能又相当于词的语言单位。下面是整理的风轻云淡成

学习

方法的重载和重写的区别

阅读(111)

本文为您介绍方法的重载和重写的区别,内容包括方法重载和方法重写的区别是什么,构造方法可以重载或重写吗,重载和方法重写的区别。方法重载和方法重写的区别是什么java中的方法重载发生在同一个类里面两个或者多个方法的方法名相同但是

学习

形容身材苗条动作轻快的词语

阅读(91)

本文为您介绍形容身材苗条动作轻快的词语,内容包括形容动作轻快的词语,形容动作迅速的词语,形容姿态动作轻快的词语。形容动作轻快的词语导语:形容动作很轻快的词语有哪些呢?不管是舞蹈者还是体操运动员,他们的动作看起来非常的轻快。下面

学习

风轻云淡成语

阅读(105)

本文为您介绍风轻云淡成语,内容包括风轻云淡成语解释,风轻云淡词语解释,成语风轻云淡的解释。风轻云淡成语解释成语是语言中经过长期使用、锤炼而形成的固定短语,它是比词大而语法功能又相当于词的语言单位。下面是整理的风轻云淡成语解

学习

舞蹈比赛的作文应该怎么写

阅读(129)

本文为您介绍舞蹈比赛的作文应该怎么写,内容包括轻舞的作文(精选),以舞蹈为题的作文,以轻舞为线索的成长作文。轻舞的作文(精选10篇)在日常生活或是工作学习中,大家都写过作文,肯定对各类作文都很熟悉吧,作文根据体裁的不同可以分为记叙文、说

学习

仓央嘉措语录经典

阅读(98)

本文为您介绍仓央嘉措语录经典,内容包括仓央嘉措的经典句子合集,仓央嘉措诗集经典句子,仓央嘉措的诗句唯美句子。仓央嘉措的经典句子合集在生活、工作和学习中,大家都收藏过令自己印象深刻的句子吧,句子是由词或词组构成的,是具有一定语调

学习

不同咳嗽的食疗方法

阅读(97)

本文为您介绍不同咳嗽的食疗方法,内容包括不同咳嗽食疗方法,各种咳嗽食疗方推荐,快速治疗咳嗽家庭实用小妙招。不同咳嗽食疗方法春季天气多变,不少老人小孩都感冒了,咳嗽不止。很多家庭会选择用食疗方来帮助咳嗽的家人尽快痊愈。以下是

学习

治疗咳嗽最快的方法有哪些

阅读(278)

本文为您介绍治疗咳嗽最快的方法有哪些,内容包括治疗咳嗽最快的方法,治疗咳嗽最快的方法大蒜,咳嗽治疗最快的办法。治疗咳嗽最快的方法过于频繁的剧咳,不仅增加患者的痛苦,影响休息和睡眠,增加体力消耗,甚至促进病症的发展。下面是帮大家整

学习

沟通谈判技巧与方法

阅读(118)

本文为您介绍沟通谈判技巧与方法,内容包括沟通的谈判技巧,沟通应变能力技巧,提高沟通技巧的6种方法。沟通的谈判技巧如果理性想要把握方向,则需要非常强的技巧来控制情绪、控制感性。当你面临不公正待遇、面临压力时,你心乱如麻或者只想

学习

推销洽谈方法和技巧

阅读(100)

本文为您介绍推销洽谈方法和技巧,内容包括推销洽谈的方法步骤,推销洽谈的基本步骤,推销洽谈的方法和技巧有哪些。推销洽谈的方法步骤在日复一日的学习中,大家对知识点应该都不陌生吧?知识点也可以通俗的理解为重要的内容。掌握知识点有助

学习

意式咖啡机与美式咖啡机区别

阅读(139)

本文为您介绍意式咖啡机与美式咖啡机区别,内容包括意式咖啡机和美式咖啡机的区别,咖啡机哪种更适合家用,高端咖啡机十大品牌排行榜。意式咖啡机和美式咖啡机的区别导语:意式咖啡机和美式咖啡机的区别有哪些?咖啡就会是很多人都会选择的东

学习

短期投资理财方法

阅读(161)

本文为您介绍短期投资理财方法,内容包括短期投资与理财方法,短期理财哪个比较好,短期理财30天推荐。短期投资与理财方法理财说难也确实有难度,要做好现金、教育、保险、投资、养老、财产传承等规划,以上规划都处理好是个大工程。那么,如何

学习

金蝉花的功效与作用和食用方法

阅读(133)

本文为您介绍金蝉花的功效与作用和食用方法,内容包括金蝉花的功效与作用,金蝉花的功效与作用主要治什么病,金蝉花的功效与作用多少钱一斤。金蝉花的功效与作用金蝉花具有改善睡眠的作用,不但如此,它还能提高人体免疫力,除此以外,大家还知道

学习

智能耳机跟一般耳机有什么区别

阅读(84)

本文为您介绍智能耳机跟一般耳机有什么区别,内容包括监听耳机和普通耳机的区别有哪些,普通耳机属于什么类型,有线耳机有哪些类型。监听耳机和普通耳机的区别有哪些我们经常会使用耳机来听音乐、听英语、听广播等,这样既可以适当地放松自