我在为Autor类型的数组autores []实现get / set方法时遇到了麻烦,它是来自同一个包的另一个类。它与该类的其他变量的工作方式不同:(
class Autor
{
private String nombre;
private String adscripcion;
Autor(String nombre,String adscripcion)
{
this.nombre=nombre;
this.adscripcion=adscripcion;
}
Autor(){}
String getNombre()
{
return nombre;
}
String getAdscripcion()
{
return adscripcion;
}
void setNombre(String nombre)
{
this.nombre=nombre;
}
void setAdscripcion(String adscripcion)
{
this.adscripcion=adscripcion;
}
} 公共课Articulo {
private String nombreArt;
private Autor autores[]=new Autor[2];
private String fechaPublicacion;
Articulo(String nombreArt,String fechaPublicacion, String nombre,String adscripcion)
{
this.nombreArt=nombreArt;
this.fechaPublicacion=fechaPublicacion;
autores[0]=new Autor(nombre,adscripcion);
autores[1]=new Autor(nombre,adscripcion);
}
String getnombreArt()
{
return nombreArt;
}
String getfechaPublicacion()
{
return fechaPublicacion;
}
Autor getautores()
{
return autores[];//this part of the code it's not correct.
}
}
答案 0 :(得分:2)
getter应该看起来像
public Autor[] getAutores()
{
return autores;
}
和setter就像
public void setAutores(Autor[] autores) {
this.autores = autores;
}
如果您使用像Eclipse这样的IDE,那么是用于生成setter / getter和其他东西的菜单选项
答案 1 :(得分:1)
首先,autores
可以使用您当前的语法声明 - 但它是使C和C ++开发人员更熟悉Java的保留。我个人觉得更容易阅读变量名左侧的类型。像,
private Autor[] autores = new Autor[2];
对于数组类型的getter和setter,[]
必须作为类型的一部分编写。像,
public Autor[] getAutores() {
return autores;
}
public void setAutores(Autor[] autores) {
this.autores = autores;
}
答案 2 :(得分:1)
这部分没有任何意义;
return autores[];
autores
是变量名称,它是Autor
个对象的数组。所以你的吸气剂应该是那样的,
public Autor[] getAutores() {
return autores;
}
在这里,Autor[]
是返回类型,它将返回autores
变量的值。