i realize that both c++,python and java are oops languages. so is knowing one of them sufficient?
I would say that you putting on an equal level, Java, Python and C++ only because these three languages support OOP paradigm, would be a bit like if we put on an equal level, fried fish, fried eggs and fried chicken, because all of these things are fried. It’s just not very accurate or correct.
Especially because there are a multitude of things that differ from language to language (being interpreted or compiled, being fast or slow, etc, etc) and as such, it’s not possible to compare them equally.
If you are choosing one of those languages to compete here, then my answer would be, choose the one you like the most. It doesn’t really matter that much.
If you are looking for a language for a more specific task, like a scripting job, or integrating a code with a given framework then your choice might need to be a bit more thought and well weighted.
Knowing Java is sufficient.
But to your primary question “is there any need for me to learn c++ or python?” – answer is yes, you need to learn C++ or Python. Because unless you explore (popular) alternatives, you won’t be able to appreciate the differences between languages.
As you learn more languages, you realize the strengths and weakness of each. This helps you use better tool for the problem at hand.
Moreover knowing more than one language is fun