[java] Can you write virtual functions / methods in Java?