Java Object-Oriented Programming Concepts

java Basic OOP concepts

Java is an Object-Oriented Programming (OOP) language. Thus, the object-Oriented methodology is inseparable from java. That's why it's important to understand the OOP basic principles before you write even a simple Java program.

Like the other OOP languages such as C#, C++, Java does not make an exception when it comes to support the principles of object-oriented programming that consist in encapsulation, polymorphism, and inheritance.

Java relationship with C,C++ and C#

Java is directly related to both C and C++. Java inherits its syntax from C. Its object model is adapted from C++. Java’s relationship with C and C++ is important for several reasons. First, many programmers are familiar with the C/C++ syntax.

This makes it easy for a C/C++ programmer to learn Java and, conversely, for a Java programmer to learn C/C++. C# is closely related to Java. In fact, many of C# features directly parallel Java. Both Java and C# share the same general C++ style syntax, support distributed programming, and utilize the same object model. There are, of course, differences between Java and C#, but the overall “look and feel” of these languages is very similar. This means that if you already know C#, then learning Java will be especially easy. Conversely, if C# is in your future, then your knowledge of Java will come in handy.

Object Oriented Programming basics

In this post, I'm not going to explain encapsulation, polymorphism, and inheritance. However, I will write an article about them in the near future. If you want to learn about these concepts right away, there are a tons of tutorials on the net about these concepts. Just Google for them and you get what you are looking for.


Here is a set of interesting java tutorials. Choose the tutorial you want to read either by using the following links or the ones on the let side of the current page.

I hope this can help.

Abstract class part1|| Abstract class part2|| Java Interface part1|| Java Interface part2|| Abstract Class Vs Interface