java - 构造函数 Peca() 未定义
问题描述
我正在为一项大学作业开发一项工作。我有文件,Validador.java,Peca.java,Tabuleiro.java
Validador.java:
public class Validador {
public static void main(String[] args) {
if(args.length == 0) { // sem argumentos
Tabuleiro tab = new Tabuleiro("DD--");
Peca peca = tab.peca(0,0);
}else if (args[0].equals("filtro")) { // argumento filtro
}
}
}
Peca.java:
public abstract class Peca {
Tabuleiro tab;
int linha;
int coluna;
public boolean isNada; //dps corrigir
Peca(Tabuleiro tab, int linha, int coluna) {
this.tab = tab;
this.linha = linha;
this.coluna = coluna;
}
boolean vazia() {
if(isNada == true) {
return true;
}else {
return false;
}
}
Tabuleiro.java
public class Tabuleiro extends Peca {
String repr;
char tabuleiro_array[][];
int tamanho_tabuleiro;
Tabuleiro(String repr) {
super();
this.repr = repr;
}
Peca peca (int linha, int coluna) {
if(this.tabuleiro_array[linha][coluna] == 'D') {
// return Rainha(tab,linha,coluna);
}else {
//return Nada(tab,linha,coluna);
}
return null;
}
}
我收到了这个错误:构造函数 Peca() 是未定义的
at Tabuleiro.<init>
at Validador . main
我知道我可以把 Tabuleiro(String repr, Tabuleiro tab, int linha, int coluna) { super(tab, linha, coluna) 但是我的教授告诉我们 Tabuleiro 只能接收一个字符串... Tabuleiro(String repr) Ideias ?
解决方案
Tabuleiro 中不应该有 Peca 构造函数。相反,只需通过 super(data1,data2) 传递成员数据:
Tabuleiro(String repr) {
super(); // pass information here super(data1,data2), this is used to initialize the parent class
this.repr = repr;
}
推荐阅读
- asp.net-core - Asp.net Core 允许使用 CORS 自定义标头(在客户端使用 axios)
- pijul - 如何在 Pijul 中查看补丁?
- ios - 如何在组合中安排异步调用的同步序列?
- python - 是否可以允许用户在没有密钥文件的情况下登录 AWS 上托管的 PostgreSQL 数据库?
- python - 如何正确地让我的代码测试出二进制搜索的递归函数?
- python - 如何在 Python asyncio 中运行具有阻塞行为的方法?方法来自用于 OCR 的 tesseract 库
- swift - 在上下平移时为 UIView 设置多个旋转动画
- python - 获取数组输出,但我想要一个具有 sparse_categorical 损失的输出
- python - 计算两个 TensorFlow 检测到的对象之间的欧几里得距离
- atlassian-sourcetree - 如果一项作业在竹子中失败,它不会使构建失败