▶方法重载涉及同一个类中的方法名,要求方法名相同,参数列表不同,与返回值类型和访问修饰符无关。
▶方法重写涉及的是子类和父类之间的同名方法,要求方法名相同,参数列表相同,返回值类型相同或是其子类。
重载:
方法重载的特点:
方法重载的判断的依据如下。
1.必须在同一个类中.
2.方法名必须相同
3.参数列表(方法参数的个数或参数类型)不同
注意:方法的返回值和方法的访问修饰符不能作为判断方法之间是否构成重载的依据。
方法重载的规则:
1.方法名一致,参数列表中参数的顺序,类型,个数不同。
2.重载与方法的返回值无关,存在于父类和子类,同类中。
3. 可以抛出不同的异常,可以有不同修饰符。
方法重载示意代码如下:
package clone;
public class demonstration {
//show方法
public void show(String name) {
System.out.println("我的名字是"+name);
}
//show方法的重载
public void show(String name,int age) {
System.out.println("我的名字是"+name+",我今年"+age+"岁了。");
}
}
重写:
方法重载的特点:
子类可以通过继承可以拥有和父类相同的特征和行为,另外,子类也可以根据需要定义自己特有的行为。既沿袭了父类的方法名称,又重新实现了父类方法,这就是方法重写。
方法重写的规则:
1.重写方法和被重写方法必须具有相同的方法名。
2.重写方法和被重写方法必须具有相同的参数列表。
3.重写方法的返回值类型必须和被重写方法的返回值类型相同或是其子类。
4.重写方法不能缩小被重写方法的权限。
方法重载示意代码如下:
父类AAA代码
package clone;
public class AAA {
public void show(String name) {
System.out.println("我的名字叫"+name);
}
}
子类aa继承并实现父类AAA show()方法
package clone;
// aa继承AAA类
public class aa extends AAA{
public void show(String name) {
System.out.println("大家好! 我的名字叫"+name);
System.out.println("我继承并重写了AAA方法的show方法体");
}
}