Removed abstract classes from Java impl

As discussed in pull #21