Class A {
Public Static Class B {
}
Public Class C {
}
Public Interface If {
}
Public If create () {
/***/ /**
* Local inner class
*/
Class F Implements If {
}
Return New F ();
}
/***/ /**
* Similar to C #, a familiar anonymous delegate
*@ Return
*/
Public If createanother () {
Return NewIf (){
};
}
}
Class X Implements A. If {
}
Interface Ishare {
ClassA{
}
A getdata ();
}
Public Class Clientconsole {
Public Static Void Main (string [] ARGs) {
A. B = New A. B ();
System. Out. println (B. getclass (). getname ());
A. c = ( New A ()). New C ();
System. Out. println (C. getclass (). getname ());
A. If x = New X ();
System. Out. println (X. getclass (). getname ());
System. Out. println (x Instanceof A. If );
A. If F1 = ( New A (). Create ();
// The local inner class is only displayed as an external visible class.
System. Out. println (f1.getclass (). getname ());
System. Out. println (F1 Instanceof A. If );
A. If F2 = ( New A (). Create ();
System. Out. println (f2.getclass (). getname ());
System. Out. println (F2 Instanceof A. If );
System. Out. println (ishare.. Class . Getname ());
}
}
Output:
A $ B
A $ C
X
True
A $ 1f
True
A $ 1f
True
Ishare $