### Question:
NumberField implements FieldType<Number> { @Override public boolean hasDefaultValue() { return hasDefaultValue; } NumberField(final Types type);  NumberField(final Types type, final Number defaultValue);  NumberField(final Types type, final int precision);  NumberField(final int scale, final Types type);  NumberField(final Types type, final int precision, final Number defaultValue);  NumberField(final int scale, final Types type, final Number defaultValue);  NumberField(final Types type, final int precision, final int scale);  NumberField(final Types type, final int precision, final int scale, final Number defaultValue); @Override Types getType(); int getPrecision(); Integer getScale(); @Override Number getDefaultValue(); @Override boolean hasDefaultValue(); @Override Number convert(Object objValue); @Override JSONObject toJson();  }### Answer:
@Test public void testHasDefaultValue() throws OperationException { System.out.println("hasDefaultValue"); assertFalse(new NumberField(Types.NUMERIC).hasDefaultValue()); assertFalse(new NumberField(0, Types.NUMERIC).hasDefaultValue()); assertFalse(new NumberField(Types.NUMERIC, 1).hasDefaultValue()); assertFalse(new NumberField(Types.NUMERIC, 1, 1).hasDefaultValue()); assertTrue(new NumberField(Types.NUMERIC, new Integer(0)).hasDefaultValue()); assertTrue(new NumberField(Types.NUMERIC, 1, new Integer(0)).hasDefaultValue()); assertTrue(new NumberField(0, Types.NUMERIC, new Integer(0)).hasDefaultValue()); assertTrue(new NumberField(Types.NUMERIC, 1, 0, new Integer(0)).hasDefaultValue()); }