Pisząc:
int skł_wew = skł_zew;
obiekt.skł_wew;
wcale nie odwołujesz się do skł_zew
klasy zewnętrznej. Nie jest to możliwe, bo niby z jakiego obiektu tą skł_zew
miałbyś brać?
Edit: Mówisz właściwie o statycznej klasie zagnieżdżonej (która jest zwykłą klasą, tylko z namespacem), czy o klasie wewnętrznej? W przypadku drugim można to robić tylko wewnątrz tych klas, gdzie niejawnie jest przekazywana referencja do obiektu zawierającego:
public class Outer {
private int x;
public Outer(int x) {
this.x = x;
}
private class Inner {
public void printX() {
System.out.println(x);
// to samo co:
System.out.println(Outer.this.x);
}
}
public static void main(String[] args) {
new Outer(5).new Inner().printX(); // 5
System.out.println(new Outer(5).new Inner().x); // to niemożliwe, bo w Inner nie ma x
}
}