Reading data from multiple different resource bundle property files in Java
I don't see the need to implement sub classes in your code example above. You need inheritance only if you add specific implementation on the sub class. All you need is to create an interface to encapsulate the resolver (IResourceBundle) for abstraction, then create a factory for them.
public interface IResourceBundle {
    String getMessage(final String key);
    String getMessage(final String key, final Locale locale);
}

public enum ResourceBundles {
    EXCEPTION_MESSAGE(&quot;exceptionmessages&quot;),
    LABEL(&quot;resourcelabels&quot;);    
    private String bundleName;
    private ResourceBundles(String name) {
        bundleName = name;
    }
    public String toString() {
        return bundleName;
    }
}

public final class ResourceResolverFactory {
    private Map&lt;ResourceBundles, IResourceBundle&gt; resolvers;
    private ResourceResolverFactory() {
        resolvers = new HashMap&lt;ResourceBundles, IResourceBundle&gt;();
    }
    public IResourceBundle getBundle(final ResourceBundles resourceBundle) {
        IResourceBundle resolver = resolvers.get(resourceBundle);
        if(resolver != null) {
            return resolver;
        }
        resolver = new ResourceBundleReader(resourceBundle.toString());
        resolvers.put(resourceBundle, resolver);
        return resolver;
    }
    private static final ResourceResolverFactory instance = new ResourceResolverFactory();
    public static ResourceResolverFactory getInstance() {
        return instance;
    }
}

public class ResourceBundleReader implements IResourceBundle {
    private String resourceBundle = null;
    public ResourceBundleReader(final String resourceBundle) {
        Objects.requireNonNull(resourceBundle);
        this.resourceBundle = resourceBundle;
    }
    public String getMessage(final String key) {
        return getMessage(key, Locale.getDefault());
    }
    public String getMessage(final String key, final Locale locale) {
        final ResourceBundle mybundle = ResourceBundle.getBundle(resourceBundle, locale);
        return mybundle.getString(key);
    }
}

public class Main {
    public static void main(String[] args) {
        ResourceResolverFactory factory = ResourceResolverFactory.getInstance();
        IResourceBundle exceptionMessageResolver = factory.getBundle(ResourceBundles.EXCEPTION_MESSAGES_RESOURCE);    
        // do something with exceptionMessageResolver
        IResourceBundle labelResolver = factory.getBundle(ResourceBundles.EXCEPTION_MESSAGES_RESOURCE);
        // do something with labelResolver
    }
}

In this case, adding more resource bundle means adding new enum in ResourceBundles not introducing new sub-class.