class Outer {
private class Inner1 {
public Inner1(){}
public Inner1(int a) {
this();
}
protected Inner1(char c) {
this();
}
private Inner1(boolean b) {
this();
}
}
protected class Inner2 {
public Inner2(){}
public Inner2(int a) {
this();
}
protected Inner2(char c) {
this();
}
private Inner2(boolean b) {
this();
}
}
class Inner3 {
public Inner3(){}
public Inner3(int a) {
this();
}
protected Inner3(char c) {
this();
}
private Inner3(boolean b) {
this();
}
}
public class Inner4 {
public Inner4(){}
public Inner4(int a) {
this();
}
protected Inner4(char c) {
this();
}
private Inner4(boolean b) {
this();
}
}
void foo() {
Inner1 inner1 = new Inner1(1);
Inner2 inner2 = new Inner2(2);
Inner3 inner3 = new Inner3(3);
Inner4 inner4 = new Inner4(4);
}
}