覆盖方法
在Java中,我们已经创建了父类和子类,但是父类是所有子类的一个笼统称谓,它里面所包含的属性和方法是所有子类都要继承的,但是父类的方法却未必适合于子类。现在,我们来用示例来说明一下。
编辑工具Eclipse
创建四个Java文件,分别是Shapes.java、Rectangles.java、Ellipses.java、Demo.java。
首先来编写Shapes.java做为父类
示例代码如下:
public class Shapes {
public Shapes() {
}
public String getArea(int w,int h) {
return "返回图形面积";
}
}
在这里我们声明创建了一个getArea(int w,int h)方法。
然后我们来创建子类Rectangles.java
示例代码如下:
public class Rectangles extends Shapes{
public Rectangles() {
}
public String getArea(int w,int h) {
int area=w*h;
return "返回矩形的面积"+area;
}
}
在这里我们对getArea(int w,int h)这个方法的内部做了修改。加入了实际的计算公式。
然后我们继续创建另外一个子类Ellipses.java
示例代码如下:
import static java.lang.Math.PI;
public class Ellipses extends Shapes{
public Ellipses() {
}
public String getArea(int w, int h) {
double area=PI * w * h;
return "椭圆形面积为:"+ area;
}
}
在这个类中,我们又重新编写了getArea(int w,int h)这个方法,因为我们需要计算的事椭圆形的面积,我们将会用到圆周率π ,这里我们要注意两点,第一个在Java中我们如果要使用圆周率π 就需要调用相应的数学函数(Math.PI)为了方便使用,我们将使用Import引入了import static java.lang.Math.PI;这样在类中,我们就可以直接使用PI就可以表示为圆周率π了。另外一点要注意的是,圆周率π是一个无限不循环的小数,而之前我们定义的是int整形,所以这里我们要将area这个变量的类型修改为double类型。
最后我们在测试文件Demo.java中进行测试
代码如下:
public class Demo {
public static void main(String[] args) {
Shapes shape;
shape=new Rectangles();
System.out.println(shape.getArea(10, 10));
shape=new Ellipses();
System.out.println(shape.getArea(10, 10));
}
}
本文通过示例介绍Java中的覆盖方法。首先创建父类Shapes,然后在子类Rectangles和Ellipses中分别覆盖父类的getArea(int w, int h)方法,展示如何根据子类特性调整方法实现。在测试文件Demo.java中验证覆盖方法的效果。"
115495536,8499840,nnU-Net医学图像分割实践:环境配置与源码编译,"['深度学习', '医学影像', 'PyTorch', 'CUDA', '环境配置', '图像分割']
1146

被折叠的 条评论
为什么被折叠?



