### Question:
Config extends AbstractConfig { public void put(String key, int value) { put(key, String.valueOf(value)); } Config();  Config(Config other);  Config(String propertiesFile);  Config(InputStream inputStream);  Config(Properties properties);  Config(Map<String, String> properties); @Override String get(String key); @Override String get(String key, Object defaultValue); @Override int getInt(String key); @Override int getInt(String key, int defaultValue); @Override long getLong(String key); @Override long getLong(String key, long defaultValue); @Override double getDouble(String key); @Override double getDouble(String key, double defaultValue); @Override boolean getBoolean(String key); @Override boolean getBoolean(String key, boolean defaultValue); void put(String key, int value); void put(String key, long value); void put(String key, double value); void put(String key, boolean value); @Override String toString();  }### Answer:
@Test public void testPut() throws Exception { config.put("a", 1000); config.put("d", "world"); assertEquals(1000, config.getInt("a")); assertEquals("world", config.get("d")); }