无法访问数组对象内子类中的数据

问题描述 投票:0回答:1

[下午好,我有此代码:

对象Camiao:

公开课Camiao {

private String codigo;
private int contaKm;
private int capacidade;
private String unidade;
private tipoCamiao tipoMotor;

public Camiao() {
}

public Camiao(String codigo, int contaKm, int capacidade, String unidade) {
    this.codigo = codigo;
    this.contaKm = contaKm;
    this.capacidade = capacidade;
    this.unidade = unidade;
}

public String getCodigo() {
    return codigo;
}

public void setCodigo(String codigo) {
    this.codigo = codigo;
}

public int getContaKm() {
    return contaKm;
}

public void setContaKm(int contaKm) {
    this.contaKm = contaKm;
}

public int getCapacidade() {
    return capacidade;
}

public void setCapacidade(int capacidade) {
    this.capacidade = capacidade;
}

public String getUnidade() {
    return unidade;
}

public void setUnidade(String unidade) {
    this.unidade = unidade;
}

}

子类水箱:

公共类Cisterna扩展了Camiao {

private static String subTipo;

public Cisterna() {
}

public Cisterna(String codigo, int contaKm, int capacidade, String unidade, String subTipo) {
    super(codigo, contaKm, capacidade, unidade);
    this.subTipo = subTipo;
}

/**
 * @return the subTipo
 */
public static String getSubTipo() {
    return subTipo;
}

/**
 * @param aSubTipo the subTipo to set
 */
public static void setSubTipo(String aSubTipo) {
    subTipo = aSubTipo;
}

}

子类Mercadorias:

公共类Mercadorias扩展了Camiao {

/*public enum subTipoCamiaoMercadorias {
    na, ba;
};*/
private static String subTipo;

public Mercadorias() {
}

public Mercadorias(String codigo, int contaKm, int capacidade, String unidade, String subTipo) {
    super(codigo, contaKm, capacidade, unidade);
    this.subTipo = subTipo;
}

/**
 * @return the subTipo
 */
public static String getSubTipo() {
    return subTipo;
}

/**
 * @param aSubTipo the subTipo to set
 */
public static void setSubTipo(String aSubTipo) {
    subTipo = aSubTipo;
}

}

将信息添加到数组的位置:

开关(codCamiao2){

case“ CI”:camiao [i] =新的Cisterna(linha [0],Integer.parseInt(linha [1]),Integer.parseInt(linha [2]),linha [3],linha [4]) ;

case“ BT”:camiao [i] =新的Camiao(linha [0],Integer.parseInt(linha [1]),Integer.parseInt(linha [2]),linha [3]);

case“ FG”:camiao [i] = new Camiao(linha [0],Integer.parseInt(linha [1]),Integer.parseInt(linha [2]),linha [3]);

案例“ MC”:camiao [i] =新的Mercadorias(linha [0],Integer.parseInt(linha [1]),Integer.parseInt(linha [2]),linha [3],linha [4]) ;

}

我使用子类对象Cisterna和Mercadorias添加了信息;我使用主要对象Camiao添加信息;

我的问题是我可以在Camiao中访问我的GET和SET,但是在Cisterna和Mercadorias中无法访问我的GET和SET。

java arrays object subclass
1个回答
0
投票

您似乎在CisternaMercadorias子类中没有任何实例获取器/设置器。subTipoCisterna中的字段Mercadorias是静态的-即在CisternaMercadorias的所有实例之间共享。可能是错误,您需要从static字段和相关的getter / setter方法中删除subTipo修饰符。

© www.soinside.com 2019 - 2024. All rights reserved.