因此,我为包含该类属性的列表创建了一个具有add和print方法的类,但是一旦我在程序类上运行它们,则在我打印它们时会向我返回空值,有人可以帮我吗? / p>
package entidades;
import java.util.*;
public class Profissional extends UnidadeSaude {
private String categoriaP;
private String nomeP;
public Profissional(String nomeUnidade,String categoriaP, String nomeP) {
super(nomeUnidade);
this.categoriaP = categoriaP;
this.nomeP = nomeP;
}
public Profissional() {
// TODO Auto-generated constructor stub
}
public Profissional(String categoriaP2, String nomeP2) {
}
@Override
public String toString() {
return "Profissional [categoriaP=" + categoriaP + ", nomeP=" + nomeP + "]";
}
public String getcategoriaP() {
return categoriaP;
}
public void setcategoriaP(String categoriaP) {
this.categoriaP = categoriaP;
}
public String getnomeP() {
return nomeP;
}
public void setnomeP(String nomeP) {
this.nomeP = nomeP;
}
public void RegistarProfissional(List<Profissional>rProfissional, String categoriaP,String nomeP) {
rProfissional.add(new Profissional(categoriaP, nomeP));
}
public void ListarProfssional(List<Profissional>rProfissional) {
System.out.println(rProfissional);
}
}
程序代码是这样的: Program code
答案 0 :(得分:1)
调用RegistarProfissional
时,您正在创建一个新的Professional
并使用Profissional(String categoriaP2, String nomeP2)
构造函数来实现(通过传入categoriaP, nomeP
的2个构造函数参数。问题是您用来创建Professional
的构造函数没有设置您要打印的字段。
要解决此问题,您应该更新构造函数:
public Profissional(String categoriaP2, String nomeP2) {
this.categoriaP = categoriaP2;
this.nomeP = nomeP2;
}
答案 1 :(得分:1)
所以基本上,我在我的两个参数构造函数中设置了值,否则它们像alea所说的那样保持为空。 现在可以了,谢谢。
答案 2 :(得分:0)
您没有在两个参数的构造函数中设置任何值。您应该以任何方式设置这些值,否则它们将保持为空。
public Profissional(String categoriaP2, String nomeP2) {
this(null, categoriaP2, nomeP2);
}
答案 3 :(得分:0)
您在RegistarProfissional方法中使用了错误的构造函数。像这样改变施工人员,它将起作用。
public Profissional(String nomeUnidade,String categoriaP, String nomeP) {
super(nomeUnidade);
this.categoriaP = categoriaP;
this.nomeP = nomeP;
}
public Profissional() {
// TODO Auto-generated constructor stub
}
public Profissional(String categoriaP2, String nomeP2) {
super(null);
this.categoriaP = categoriaP;
this.nomeP = nomeP;
}
答案 4 :(得分:-1)
在“ RegisterProfessional”中使用的构造函数为空。所以值。
public Profissional(String categoriaP2, String nomeP2) {
this(null, categoriaP2, nomeP2);
}