Can you have virtual functions in Java?

Yes, all functions in Java are virtual by default.