OOPs Concepts in java

we will learn about basics of OOPs. Object Oriented Programming is a paradigm that provides many concepts such as inheritance, data binding, polymorphism etc.
Simula is considered as the first object-oriented programming language. The programming paradigm where everything is represented as an object, is known as truly object-oriented programming language.
Smalltalk is considered as the first truly object-oriented programming language.

OOPs (Object Oriented Programming System)

Object means a real word entity such as pen, chair, table etc. Object-Oriented Programming is a methodology or paradigm to design a program using classes and objects. It simplifies the software development and maintenance by providing some concepts:
  • Object
  • Class
  • Inheritance
  • Polymorphism
  • Abstraction
  • Encapsulation
  • Object

    Any entity that has state and behavior is known as an object. For example: chair, pen, table, keyboard, bike etc. It can be physical and logical.


    Collection of objects is called class. It is a logical entity.


    When one object acquires all the properties and behaviours of parent object i.e. known as inheritance. It provides code reusability. It is used to achieve runtime polymorphism.
    In java, we use method overloading and method overriding to achieve polymorphism.
    Another example can be to speak something e.g. cat speaks meaw, dog barks woof etc.


    Hiding internal details and showing functionality is known as abstraction. For example: phone call, we don't know the internal processing.
    In java, we use abstract class and interface to achieve abstraction.


    Binding (or wrapping) code and data together into a single unit is known as encapsulation. For example: capsule, it is wrapped with different medicines.
    A java class is the example of encapsulation. Java bean is the fully encapsulated class because all the data members are private here.

    Advantage of OOPs over Procedure-oriented programming language

  • OOPs makes development and maintenance easier where as in Procedure-oriented programming language it is not easy to manage if code grows as project size grows.
  • OOPs provides data hiding whereas in Procedure-oriented programming language a global data can be accessed from anywhere.
  • OOPs provides ability to simulate real-world event much more effectively. We can provide the solution of real word problem if we are using the Object-Oriented Programming language.
  • What is difference between object-oriented programming language and object-based programming language?

    Object based programming language follows all the features of OOPs except Inheritance. JavaScript and VBScript are examples of object based programming languages.

    Naming conventions in Java

    java naming convention is a rule to follow as you decide what to name your identifiers such as class, package, variable, constant, method etc.
    But, it is not forced to follow. So, it is known as convention not rule.
    All the classes, interfaces, packages, methods and fields of java programming language are given according to java naming convention.

    Advantage of naming conventions in java

    By using standard Java naming conventions, you make your code easier to read for yourself and for other programmers. Readability of Java program is very important. It indicates that less time is spent to figure out what the code does.
    class name should start with uppercase letter and be a noun e.g. String, Color, Button, System, Thread etc.
    interface nameshould start with uppercase letter and be an adjective e.g. Runnable, Remote, ActionListener etc.
    method nameshould start with lowercase letter and be a verb e.g. actionPerformed(), main(), print(), println() etc.
    variable nameshould start with lowercase letter e.g. firstName, orderNumber etc.
    package nameshould be in lowercase letter e.g. java, lang, sql, util etc.
    constants nameshould be in uppercase letter. e.g. RED, YELLOW, MAX_PRIORITY etc.

    CamelCase in java naming conventions

    Java follows camelcase syntax for naming the class, interface, method and variable.
    If name is combined with two words, second word will start with uppercase letter always e.g. actionPerformed(), firstName, ActionEvent, ActionListener etc.