Yes, a method can be overridden and you can add final, synchronized, native or strictfp. Note it is not possible to create an abstract method that is final, synchronized, native or strictfp. This is fairly obvious as it would not make sense to do so.

As far as I've seen in my studies, there's no problem with overriding methods to be final or synchronized. I think native should be possible too. strictfp is not a valid modifier as of JDK1.3, it's just a reserved keyword! What you can't do is overriding a static method to be non-static and vice versa (Compiler error).

Peter Bugla<br />Sun Certified Programmer for Java 2 Platform

I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com