Hier ist die angegebene Code verwiesen werden:Java-Fehler: nicht-statische Variable kann nicht von einem statischen Kontext
class Super {
protected int n;
Super(int n){
this.n=n;
}
public void print(){
System.out.println("n="+n);
}
}
class Sub {
Sub(int m){
Super.n=m;
}
}
class Test{
public static void main(String[] args){
Sub s= new Sub(10);
s.print();
}
}
ich diese Fehler bekommen:
Main.java:19: error: non-static variable n cannot be referenced from a static context
Super.n=m;
...........^
Main.java:25: error: cannot find symbol
s.print();
Kann mir bitte jemand sagen, warum diese Fehler auftreten?
Meinen Sie für 'Sub' zu verlängern' Super'? – templatetypedef
Ich habe darauf geantwortet, aber ich werde es auch als Tippfehler kennzeichnen, es sei denn, es gibt einen Grund, warum das nicht nur ein Tippfehler ist. – Ares