@Test public void testSomeAddition() throws Exception { Num b = new Int(5); SampleOperation s = new SampleOperation(); s.add((Int) b); Assert.assertEquals(((Int) b).getValue(), 10, "Java should automatically grab the proper overload"); }
public void add(Int a){ a.setValue(10); System.out.println("Called Int"); }
SampleOperation { public void add(Int a){ a.setValue(10); System.out.println("Called Int"); } }
SampleOperation { public void add(Int a){ a.setValue(10); System.out.println("Called Int"); }  }
SampleOperation { public void add(Int a){ a.setValue(10); System.out.println("Called Int"); }  void add(Int a); void add(Real a); void add(); }
SampleOperation { public void add(Int a){ a.setValue(10); System.out.println("Called Int"); }  void add(Int a); void add(Real a); void add();  }