首页天道酬勤java面向对象,方法重写和方法重载

java面向对象,方法重写和方法重载

张世龙 05-05 14:51 12次浏览

另一方面,什么是过载

在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;

}

}

方法重复,错误。

java重写与重载的区别,java什么是抽象类