What are you trying to achieve by overriding these methods? I don’t think Windows supports creating virtual MIDI devices which is why the createNewDevice() method isn’t implemented. Also, neither MIDIInput or MIDIOutput are virtual classes so subclassing them won’t allow you to do what you want (in fact, these classes should probably be marked final…).