java - 在JAVA中实现OOP
问题描述
我想在 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);
}
}
解决方案
将每个类分离到一个新的 java 文件中。Java 不会编译包含许多public class
声明的文件。