By default all the fucntions in java are virtual. In that if you are using a base call reference for an derived call object, the method in the derived class will be called (if its extended/implemented).
I guess I would say that all methods that can be overridden (i.e., non-static, non-private, and non-final) have the potential to be "virtual" in Java. But there is no "virtual" modifier, and the term is not commonly used in Java.
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer sscce.org
I think you could savely say that in Java all instance methods are virtual, all static methods aren't.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus