Java 我的打印方法返回空值
所以我为包含该类属性的列表创建了一个带有add和print方法的类,但是一旦我在程序类上运行它们,当我打印它们时,它会向我返回空值,有人能帮我吗Java 我的打印方法返回空值,java,arrays,class,printing,Java,Arrays,Class,Printing,所以我为包含该类属性的列表创建了一个带有add和print方法的类,但是一旦我在程序类上运行它们,当我打印它们时,它会向我返回空值,有人能帮我吗 package entidades; import java.util.*; public class Profissional extends UnidadeSaude { private String categoriaP; private String nomeP; public Profissional(Strin
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);
}
}
包实体;
导入java.util.*;
公共类专业扩展大学课程{
私有字符串分类;
私有字符串nomeP;
公共专业人员(字符串命名、字符串分类、字符串命名){
超级(nomeUnidade);;
this.categoriaP=categoriaP;
this.nomeP=nomeP;
}
公共利益专业人员(){
//TODO自动生成的构造函数存根
}
公共专业人员(字符串分类2,字符串命名2){
}
@凌驾
公共字符串toString(){
返回“Profissional[categoriaP=“+categoriaP+”,nomeP=“+nomeP+””;
}
公共字符串getcategoriaP(){
返回分类AP;
}
public void setcategoriaP(字符串categoriaP){
this.categoriaP=categoriaP;
}
公共字符串getnomeP(){
返回nomeP;
}
公共无效集合nomeP(字符串nomeP){
this.nomeP=nomeP;
}
公共无效注册表权限(列表专业、字符串分类、字符串命名){
添加(新专业(类别AP、nomeP));
}
公共无效列表专业人员(列表专业人员){
系统输出打印(专业);
}
}
程序代码如下:
您的两个参数构造函数中没有设置值。您应该以任何方式设置这些值,否则它们将保持为空
public Profissional(String categoriaP2, String nomeP2) {
this(null, categoriaP2, nomeP2);
}
您在registarprofessional方法中使用了错误的构造函数。像那样改变结构,它就会起作用
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;
}
调用
registarprofessional
时,您正在创建一个新的Professional
,并使用Professional(String categoriaP2,String nomeP2)
构造函数执行此操作(通过传入categoriaP,nomeP
的两个构造函数参数。问题是用于创建Professional
的构造函数没有设置随后打印的字段
要解决此问题,应更新构造函数:
public Profissional(String categoriaP2, String nomeP2) {
this.categoriaP = categoriaP2;
this.nomeP = nomeP2;
}
“RegisterProfessional”中使用的构造函数为空。因此,值为
public Profissional(String categoriaP2, String nomeP2) {
this(null, categoriaP2, nomeP2);
}
所以基本上我在我的两个args构造函数中设置了值,否则它们保持为null,就像alea sayed一样。
现在开始工作了,谢谢。成功了,非常感谢