Sorry for the bad title, but I couldn’t think of a better one.
I’m having a class A and a class B which is kind of a sub class of A, like so:
(Is there actually a correct name for it? Isn’t ‘sub class’ reserved for inheritance?)
class A { int i = 0; class B { int j = 1; } } class Test { public static void main() { A a = new A(); B b = a.new B(); A c = ??? b ??? // get 'a' back } }
From B every property of A can be accessed, therefore both, a.i and b.i, return 0. Now, I’m wondering whether it’s somehow possible to retrieve the original object of type A out of b, as b contains everything that a contains? Simple casting apparently doesn’t do the trick.
Second one:
class A { void print() { System.out.println('This is class A.'); } class B { void print() { // <--- How to access print() of class A (like this.A.print() or smth)? System.out.println('This is class B.'); } } }
You could alternatively also provide me with some good resources on this topic, as I’ve been too stupid to find a good one so far.
Thanks in advance. 🙂
There doesn’t seem to be a way to access the outer class from outside. But you can do it like this:
ClassName.thiswill be the instance of the outerclass associated with the instance of an inner class.