fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.lang.reflect.*;
  7.  
  8. class Animal {
  9.  
  10. }
  11.  
  12. class Cat extends Animal{
  13. public Cat(){}
  14. }
  15. class Dog extends Animal{
  16. public Dog(){}
  17. }
  18. class Bird extends Animal{
  19. public Bird(){}
  20. }
  21.  
  22.  
  23. class Main
  24. {
  25. public static void main (String[] args) throws java.lang.Exception
  26. {
  27. Class<? extends Animal>[] classes = new Class[]{
  28. Cat.class,
  29. Dog.class,
  30. Bird.class
  31. };
  32. for (int i = 0; i < 10; ++i) {
  33. Random r = new Random();
  34. int ind = r.nextInt(3);
  35. Constructor<? extends Animal> constructor = classes[ind].getConstructor();
  36. Object[] arguments = new Object[]{};
  37. Animal animal = (Animal) constructor.newInstance(arguments);
  38. System.out.println(animal);
  39. }
  40. }
  41. }
Success #stdin #stdout 0.06s 32432KB
stdin
Standard input is empty
stdout
Dog@30f39991
Bird@4a574795
Bird@f6f4d33
Bird@23fc625e
Cat@4f023edb
Dog@3a71f4dd
Dog@7adf9f5f
Bird@85ede7b
Cat@5674cd4d
Bird@63961c42