理解误区
学习的第一门语言就是Java了,还记得在初学Java的时候,还是遇到了很多的困难,很多的知识点还不能理解。提到Java的面向对象,相信很多人都会印象深刻吧,但是对于初学者来说,理解起来确实还是有些难度的。
还记得当时很不理解面向对象的多态性,就去问了问学姐,得到的答案是,暂时可以理解,方法的重载是多态性的一种体现,至于更深层次的理解,可以随着时间以后慢慢理解。
方法的重载是多态性的一种体现吗? 其实这是一个误区,让我很长的一段时间都理解错了,直到又一次系统复习Java的时候才理解,方法的重载并不是是多态性的一种体现。
下面具体谈谈方法的重载和多态性。
方法的重载
重载:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
特点
与返回值类型无关,只看参数列表,且参数列表必须不同。 (参数个数或参数类型)。调用时,根据方法参数列表的不同来区别。
"两同一不同":
-
同一个类、相同方法名
-
参数列表不同:参数个数不同,参数类型不同
注:判断是否为重载,跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系!
示例
//返回两个整数的和
int add(int x,int y){
return x+y;}
//返回三个整数的和
int add(int x,int y,int z){
return x+y+z;}
//返回两