3 回答

TA貢獻(xiàn)1811條經(jīng)驗 獲得超5個贊
public Objetos (String nombre, int adicion){
adicion = adicion;
nombre = nombre;
}
這不會設(shè)置您的班級成員。adicion并且nombre是該構(gòu)造函數(shù)的本地。如果你想讓它設(shè)置對象的成員,你需要使用this:
public Objetos (String nombre, int adicion){
this.adicion = adicion;
this.nombre = nombre;
}
請學(xué)習(xí)如何使用調(diào)試器。您可以在代碼運行時逐行單步執(zhí)行,并查看所有值和對象以了解發(fā)生了什么。

TA貢獻(xiàn)1806條經(jīng)驗 獲得超5個贊
您需要objetos_inv.get(index)獲取特定對象,還需要使用類屬性來獲取要打印的確切值。
我準(zhǔn)備了一個小演示,可以幫助您了解如何打印正確的輸出。
import java.util.ArrayList;
import java.util.List;
public class HelloWorld{
static List<Objectos> objetos_inv = new ArrayList<Objectos>();
static Objectos potion = new Objectos("Potion", 20);
public static void main(String []args){
modoHistoria();
}
public static void modoHistoria(){
objetos_inv.add(potion);
System.out.println(objetos_inv.get(0).getNombre());
// Or you have override toString() as @RealSkeptic mentioned in his comment So you can also directly print.
System.out.println(objetos_inv.get(0));
}
}
class Objectos{
private String nombre;
private int adicion;
public Objectos(){};
public Objectos(String nombre, int adicion){
this.nombre = nombre;
this.adicion = adicion;
}
public void setNombre(String nombre){
this.nombre = nombre;
}
public String getNombre(){
return nombre;
}
@Override
public String toString() {
return nombre;
}
public void setAdicion(int adicion){
this.adicion = adicion;
}
public int getAdicion(){
return adicion;
}
}
并且還同意@MaxVollmer 關(guān)于設(shè)置班級成員的回答。

TA貢獻(xiàn)1826條經(jīng)驗 獲得超6個贊
首先,在構(gòu)造函數(shù)中初始化靜態(tài)成員沒有任何意義。而是使用靜態(tài)初始化器來初始化它,因為這對于類的所有實例都是通用的。
static { nombre = "Potion"; }
添加回答
舉報