java - 在 Java 中编写一个具有默认构造函数和定义如何初始化该类的对象的配置方法的类?

标签 java arrays class constructor configure

我是 Java 编程新手,之前只使用过 Python 编程。我必须编写一个不包含构造函数但具有“配置”类对象的方法的类。据我了解,类对象被创建为一个没有内容的对象,然后它的内容由configure方法设置。一个数组被传递到配置方法中,但是当我尝试将类对象设置为等于该数组时,它说它是类型不匹配 - 我要么需要将类对象更改为数组,要么将数组更改为类对象,这来自那时我的理解是未定义的。什么是类对象?如何在没有构造函数的情况下使其成为数组?我很困惑,网上似乎很少有关于这种情况的引用资料。

//更新//

这是根据您的请求的配置方法。

我知道你不想要英语,但是仅仅用几行代码很难解释 - 它是一个更大的程序的一部分,可以找到 map 上最有效的路径。有一个 GUI 界面通过 MapState 进行操作,MapState 执行 BasicMapState 中的方法,而 MapSolver 则执行 BasicMapSolver 中的方法。给定状态是一个代表所有 map 图 block 的数组,其中解算器当前所在的图 block 中的值为 1。

理想情况下,我希望将给定状态数组和父级移动(解算器选择到达给定状态的方向)存储为 MapState 类对象的属性,但我迷失了。请帮忙。

public class BasicMapState implements MapState {
@Override
public void configureState(int[] givenState) {
    MapState current = givenState
}

最佳答案

首先,如果您不编写构造函数,编译器会自动生成一个空构造函数。如果您不想调用构造函数,请像这样将其设为私有(private)

private BasicMapState() { }

如果您不想从该类创建对象,则可以使用静态变量,否则您必须从任何公共(public)方法调用构造函数。

解决你的问题: 据我了解,您尝试使给定的状态数组等于接口(interface)? 这毫无意义。如果你想设置这样的东西,你必须先声明一个你可以设置的变量。接口(interface)在大多数情况下仅用于声明方法名称。该接口(interface)是接口(interface)而不是数组。 为了解释您的错误,该数组与 Object 不兼容。如果我没记错的话,Object 是所有类和接口(interface)继承的基本根类。

我希望能有所帮助,如果没有请告诉我:)

约翰

关于java - 在 Java 中编写一个具有默认构造函数和定义如何初始化该类的对象的配置方法的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25842156/

相关文章:

java - 将 Python 项目重写为 Java——值得吗?

java - 调用 PaintComponent 方法后,如何在 JPanel 中绘制内容

javascript - 读取 D3 中的 CSV 并将其转换为数组的数组

c++ - 数组下标和其他类型无效 `int[int]'

arrays - 带有枚举的 Swift 类数组

java - Android WebView loadURL 崩溃应用程序?

java - 如何在java中实例化一个对象?

php - Mysql 查询限制

c++ - 插入二叉搜索树时出现段错误

r - 将类和模式从字符更改为数字