Question

I am overriding a method from superclass, however I want this method to be synchronized. Is it allowed? What could be the alternative?

Was it helpful?

Solution

Yes, it's allowed as it doesn't change the contract but the implementation.

Think that you could always simply add a synchronized block :

synchronized(this) { 

just at the start of the method, which would achieve about the same result. There could also be other (possibly hidden) locks deeper in the method, which makes this really part of the implementation rather than the API.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top