Dlaczego poniższy kod jest prawidłowy, ale jak tylko T zostanie dodany do Main jako generyczny, zgłasza następujący błąd?Nie można odwoływać się do "Main.this" z kontekstu statycznego, jeśli zewnętrzna klasa jest generowana
'Main.this' nie można odwoływać się od statycznego kontekście
//public class Main<T> { - uncomment this for the error to appear
public class Main {
public static void main(String[] args) {
new Main();
}
class TestNonStatic {}
private static class TestStatic {
public TestStatic(TestNonStatic nonStatic) { //this is the line that fails
}
}
}
I przeszedł generics restrictions ale ja nie rozumiem, dlaczego to wyniki do błędu. Przeszedłem również wiele podobnych pytań, ale nie rozumiem, dlaczego dodanie generycznych zmieni sytuację.
że jest w porządku. Przyznaję, że rzuciłem okiem na to i zgodziłem się. Cieszę się, że ktoś postanowił to zmienić, zanim zdołałem. – Makoto