前面章节中我们已经学习了 java 方法的重写,本文我们来看下 java 方法覆盖的实现。
方法重载与方法覆盖区别如下:
方法重载(overloading):如果有两个方法的方法名相同,但参数不一致,哪么可以说一个方法是另一个方法的重载。
方法覆盖(overriding):如果在子类中定义一个方法,其名称、返回类型及参数签名正好与父类中某个方法的名称、返回类型及参数签名相匹配,那么可以说,子类的方法覆盖了父类的方法。
以下实例演示了 java 方法覆盖(overriding)代码的实现:
/*
author by w3cschool.cc
findareas.java
*/public class findareas{
public static void main (string []agrs){
figure f= new figure(10 , 10);
rectangle r= new rectangle(9 , 5);
figure figref;
figref=f;
system.out.println("area is :"+figref.area());
figref=r;
system.out.println("area is :"+figref.area());
}}class figure{
double dim1;
double dim2;
figure(double a , double b) {
dim1=a;
dim2=b;
}
double area() {
system.out.println("inside area for figure.");
return(dim1*dim2);
}}class rectangle extends figure {
rectangle(double a, double b) {
super(a ,b);
}
double area() {
system.out.println("inside area for rectangle.");
return(dim1*dim2);
}}
以上代码运行输出结果为:
inside area for figure.
area is :100.0
inside area for rectangle.
area is :45.0
以上就是java 实例 - 方法覆盖的内容。