Hacker News new | ask | show | jobs
by dminor 5971 days ago
Yes, although Java's reflection is somewhat of a pain in the ass and limited in many ways. But you can take a Class object and call newInstance(), and it will invoke the class's no-arg constructor.
1 comments

Moreover, reflection is less of a language feature and more of a very low-level library feature. In ObjC, one can write

    Class c = [SomeRandomClass class];
    id thingy = [[c alloc] init];
but Java won't let you do the equivalent:

    Class c = SomeRandomClass;
    Object x = new c;

  Class c = SomeRandomClass.class;
  Object x=c.newInstance();
Yes, but that's making use of runtime magic (the Class class) which isn't used outside metaprogramming.