【发布时间】:2020-03-12 01:36:45
【问题描述】:
我想在 JAVA 中实现这个 OOP 图。
这是面向对象编程中的 Is-a 关系吗?
我写了一些代码,但我有一个错误。
我的实现正确吗?如何修复此代码?
您能解释一下我在这段代码中遇到的问题吗?
提前致谢
线程“main”java.lang 中的异常。错误:未解决的编译问题:
公共类型 Circle 必须在自己的文件中定义 公共类型 Square 必须在自己的文件中定义
import java.util.*;
abstract class Shape
{
boolean Visit = false;
abstract void CalculatePerimeter();
abstract void CalculateArea();
public Shape(Boolean q) {
Visit = q;
}
}
public class Circle extends Shape {
private int radius = 1;
private final double PI = 3.14;
public Circle(final Boolean q, final int r) {
super(q);
radius = r;
}
@Override
void CalculateArea() {
System.out.printf("Area of Circle is %d \n", PI * radius * radius);
}
@Override
void CalculatePerimeter() {
System.out.printf("Perimeter of Circle is %d \n", 2 * PI * radius);
}
}
public class Square extends Shape {
private int side = 1;
public Square(final Boolean q, final int s) {
super(q);
side = s;
}
@Override
void CalculateArea() {
System.out.printf("Area of Square is %d \n", side * side);
}
@Override
void CalculatePerimeter() {
System.out.printf("Perimeter of Square is %d \n", side * 4);
}
}
public class NEW {
public static void main(final String[] args) {
Circle cricle = new Circle(true, 10);
Square square = new Square(true, 10);
}
}
【问题讨论】:
-
错误信息是什么?
-
你想要
Shape circle = new Circle(true, 10);和Shape square = new Square(true, 10);(你在那里交换了订单)。另外,What does it mean to “program to an interface”? -
我提出了错误信息。
-
@Hadi 您是否主动忽略了错误消息告诉您的内容?