Hallo Ich habe eine Karte Klasse bekam, die eine Mannschaft bekommen hat, und jedes Team kann unterschiedlich sein (Madrid, Barcelona, Juventus, ....): Wenn ich dies tun:Java Fehler NULL
int q=3;
Carta a = new Carta(3);
System.out.println(a.getTeam().getNom());
Es druckt NULL, und ich verstehe nicht warum. Es sollte "borussia.jpg"
public class Carta{//
//fcbarcelona 0, madrid 1, manutd 2,borussia,la //
private int _identificador;
private Team _p;
Carta(int num){
_identificador=num;
switch(_identificador){
case 0: _p=new Barcelona();
case 1: _p=new Madrid();
case 2: _p=new ManUtd();
case 3: _p=new Borussia();
case 4: _p=new Chelsea();
case 5: _p=new Arsenal();
default:
}
Team getTeam(){
return _p;
}
}
public class Team {
private ImageIcon _imatgeDav;
private ImageIcon _imatgeDarrere;
private String _nom;
Team(){}
Team(String nom){
_nom=nom;
_imatgeDav = (new ImageIcon(nom));
_imatgeDarrere = (new ImageIcon("revers_de_carta.jpg"));
}
ImageIcon getImatgeRevers(){
return _imatgeDarrere;
}
ImageIcon getImatgeDavant(){
return _imatgeDav;
}
String getNom(){
return _nom;
}
drucken Und hier habe ich die differents Teams haben:
public class Madrid extends Personatge{
String nom;
public Madrid(){
super("madrid.jpg");
nom="madrid.jpg";
}
String getNom(){ return nom;}
}
Setzen Sie 'break' zwischen Ihren Fällen und überprüfen Sie, ob' Arsenal' und andere Klassen einen Superkonstruktor korrekt aufruft. –
Sie brauchen 'break;' Anweisungen vor jedem neuen 'case:' in Ihrem Schalter – nhouser9