Kann mir jemand sagen, was mit diesem Code falsch ist?Erhalte eine "No umschließende Instanz des Typs ..." Fehler
public abstract class BoardTestBean{
protected String month;
protected String day;
protected String name;
public String getMonth() {
return month;
}
public void setMonth(String month) {
this.month = month;
}
public String getYear() {
return day;
}
public void setYear(String day) {
this.day = day;
}
public String getName(){
return name;
}
//Classes
public class SAT {
boolean pre2005=false;
private String verbal;
private String quantitative;
private String writing="";//if pre-2005, do not set. It is not used.
public SAT() {
super();
if(pre2005)
name="SAT (pre 2005)";
else
name="SAT";
}
public SAT(String verbal, String quantitative, String writing) {
super();
this.verbal = verbal;
this.quantitative = quantitative;
if(writing!=null && !writing.isEmpty())
this.writing = writing;
else
pre2005=true;
if(pre2005)
name="SAT (pre 2005)";
else
name="SAT";
}
public String getVerbal() {
return verbal;
}
public void setVerbal(String verbal) {
this.verbal = verbal;
}
public String getQuantitative() {
return quantitative;
}
public void setQuantitative(String quantitative) {
this.quantitative = quantitative;
}
public String getWriting() {
if(!this.pre2005)
return writing;
else
return "";
}
public void setWriting(String writing) {
this.writing = writing;
}
public boolean isPre2005() {
return pre2005;
}
public void setPre2005(boolean pre2005) {
this.pre2005 = pre2005;
}
}
}
Es sagt immer:
Keine umschließenden Instanz vom Typ AddBoardTestCommand.BoardTestBean zugänglich ist. Muss die Zuordnung mit einer einschließenden Instanz von Typ AddBoardTestCommand.BoardTestBean qualifizieren (z. B. x.new A(), wobei x eine Instanz von AddBoardTestCommand.BoardTestBean ist).
wenn ich versuche, dies zu tun: SAT-Bean = neue SAT(); mit SAT als AddBoardTestCommand.BoardTestBean.SAT
importiert
Ich verstehe nicht, warum es mich fragt, die BoardTestBean
Klasse zu initialisieren, wenn es abstrakt ist. Es soll nur die Werte für mehrere Unterklassen enthalten (SAT ist nicht die einzige Unterklasse. Ich habe einfach die anderen aus Gründen der Einfachheit weggelassen).
Kann mir jemand sagen, was los ist? Vielen Dank.
möglich Duplikat [Java - Keine umschließenden Instanz vom Typ Foo zugänglich ist] (http://stackoverflow.com/ questions/9560600/java-no-umschließende-instance-of-type-foo-ist-zugänglich) – AnthonyW
Mögliches Duplikat von [Es ist keine umschließende Instanz vom Typ Server verfügbar] (http://stackoverflow.com/questions/7901941/no -enclosing-instance-of-type-server-is-accessible) – Raedwald