I remember someone complained that there was no class Reference Usage similar to Delphi in Java,
For example, you can do this in Delphi.
Type
Baseclass = Class
Constructor create; virtual;
...
End;
Baseclassref = Class of baseclass
Derivedclass1 = Class (baseclass)
Derivedclass2 = Class (baseclass)
Registerclass (derivedclass1 );
Registerclass (derivedclass2 );
...
VaR
Aclassref: baseclassref;
Begin
// The class name can be stored in a configuration Profile
Aclassref: = baseclassref (findclass ('derivedclass1 '));
...
End;
Currently, the IOC framework picocontainer in Java has similar functions. For example
Interface baseintf
Class derivedclass1 implements baseintf
Class derivedclass2 implements baseintf
Public void (){
Mutablepicocontainer Pico = createpicocontainer (null );
Pico. registercomponentimplementation ("derivedclass1", derivedclass1.class );
Pico. registercomponentimplementation ("derivedclass2", derivedclass2.class );
...
// The class name can be stored in a configuration Profile
Baseintf t = (baseintf) Pico. getcomponentinstance ("derivedclass2 ");
Assertnotnull (t );
}
Currently, Pico also has. Net portion