code: public static boolean isInstantiable(Class<?> clazz)
    {
      if(clazz.isInterface()) {
        return false;
      }
      int m = clazz.getModifiers();
      if(Modifier.isAbstract(m)) {
        return false;
      }
      try {
        clazz.getDeclaredConstructor();
      }
      catch(NoSuchMethodException unused) {
        return false;
      }
      return true;
    }
docs: Test if class is not an interface or abstract and have default constructor. If this method returns true
  {@link Class#newInstance()} has no reason to fail.
  
  @param clazz class to test if instantiable.
  @return true if requested class is instantiable.