java面向对象,方法重写和方法重载
另一方面,什么是过载
在JAVA中,同一类中可以存在多个函数。 函数名称相同,但参数列表不同。 这就是“重载函数”。 这是类太多的表现之一。
二、重载作用:
列举现实生活中的实例。 如果你是木工的话,我会让你做桌子(返回值)。 然后,我给你紫檀木,你可以做紫檀木桌子; 给了黄花梨。 你可以做黄花梨的桌子。 这些不同材质的木材是参数。 回来的都是桌子,但具体使用哪个函数取决于传来的木材。
因此,根据所传递的参数,能够决定具体调用哪个函数。 提高了函数使用的灵活性。
三.重载特点:
函数名称和返回类型完全匹配。
为了便于区分JVM调用哪个函数,参数数量不同,或者数量相同,类型和顺序不同。
四.改写Overriding
“重载”与“重写”不同
“重写”概念是继承关系,子类可以继承父类的方法,而无需单独编辑,因此非常有用。 但是,子类可能希望对其进行一定的修改,而不是直接继承父类的方法,这需要方法的重写。
父类中存在函数,子类中也存在同名的函数,在类中重新编辑了函数,使其更具体。
改写规则:
1、在子类中,可以根据需要重写从父类继承的方法。
2 .重写方法和重写方法必须具有相同的方法名称、参数列表和返回类型。
3、改写方法不得使用比改写方法更严格的访问权限。
五、实例:
创建一个MyClass类,其中包含两个方法名称相同但参数不同的类
打包; //MyClass类有两个print方法,但参数不同,实现了重载
公共类my class { public void print { string name }
System.out.println (名称: ' name );
}公共语音打印(字符串名称,intage )。
System.out.println (姓名: ' name '\t年龄: ' age );
}
}
实例化MyClass类:
导入study.*; 公共类mytest { publicstaticvoidmain (字符串[ ] args }
{
MyClass c=newMyClass (;
c.print ('复杂长颈鹿);
c .打印(wqd SMT ),20 );
}
}
输出结果:
名字:复杂的长颈鹿
姓名: wqdsmt年龄: 20
如果函数的返回类型不同,即使函数名称与参数类型匹配,这也不会被称为重载。 这是错误的写法。
如果函数名称和参数类型匹配,这是不允许的,因为JAVA编辑器不知道返回哪些结果。 例如,以下代码是错误代码
打包稳定;
公共类我的类{
公共语音打印(字符串名称) {
System.out.println (名称: ' name );
}
公共int打印(stringx ) {
System.out.println (姓名: ' name '\t年龄: ' age );
返回1;
}
}
方法重复,错误。