首页 > 解决方案 > 在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);
        }
    }

标签: javaoop

解决方案


将每个类分离到一个新的 java 文件中。Java 不会编译包含许多public class声明的文件。


推荐阅读