I've read about class fromal parameters and the question then arises as to why the following code is ill-formed?
class A:
package org.gradle; public class A extends B.Inner{ public A(B s){ s.super(new B()); //error s.super(); //OK } } class B:
package org.gradle; public class B{ public class Inner{ } } The key part of what was said is:
The constructor of a non-private inner member class implicitly declares, as the first formal parameter, a variable representing the immediately enclosing instance of the class
So, I expect that besides the default constructor, we should have a constructor with the following signature:
Inner(B b); Why not?