1)   What are the principle concepts of OOPS in Java?
There are four principle concepts upon which object oriented design and programming rest. They are:
2)   What is Abstraction in Java?
Abstraction refers to the act of representing essential features without including the background details or explanations.
3)   What is Encapsulation in Java?
Encapsulation is a technique used for hiding the properties and behaviors of an object and allowing outside access only as appropriate. It helps to modify your code without breaking the client code.
4)   What is the difference between abstraction and encapsulation in Java?
Abstraction focuses on the outside view of an object (i.e. the interface) Encapsulation (information hiding) prevents clients from seeing it’s inside view, where the behavior of the abstraction is implemented.
Abstraction solves the problem in the design side while Encapsulation is the Implementation. Encapsulation is the deliverables of Abstraction. Encapsulation barely talks about grouping up your abstraction to suit the developer needs.
5)   What is Inheritance in Java?
Inheritance is the process by which objects of one class acquire the properties of objects of another class. The two most common reasons to use inheritance are:
To promote code reuse
To use polymorphism
6)   What is Polymorphism in Java?
Polymorphism is briefly described as "one interface, many implementations." Polymorphism is a characteristic of being able to assign a different meaning or usage to something in different contexts - specifically, to allow an entity such as a variable, a function, or an object to have more than one form.
7)   What is runtime polymorphism or dynamic method dispatch?
In Java, runtime polymorphism or dynamic method dispatch is a process in which a call to an overridden method is resolved at runtime rather than at compile-time. In this process, an overridden method is called through the reference variable of a superclass. The determination of the method to be called is based on the object being referred to by the reference variable.
8)   What is Dynamic Binding in Java?
Binding refers to the linking of a procedure call to the code to be executed in response to the call. Dynamic binding (also known as late binding) means that the code associated with a given procedure call is not known until the time of the call at run-time. It is associated with polymorphism and inheritance.
9)   What is method overloading in Java?
Method Overloading means to have two or more methods with same name in the same class with different arguments. The benefit of method overloading is that it allows you to implement methods that support the same semantic operation but differ by argument number or type.
1. Overloaded methods MUST change the argument list
2. Overloaded methods CAN change the return type
3. Overloaded methods CAN change the access modifier
4. Overloaded methods CAN declare new or broader checked exceptions
5. A method can be overloaded in the same class or in a subclass
10)   Can we overload main method in Java?
Yes, we can have multiple methods with name “main” in a single class. However if we run the class, java runtime environment will look for main method with syntax as public static void main(String args).
11)   What is method overriding?
Method overriding occurs when sub class declares a method that has the same type arguments as a method declared by one of its superclass. The key benefit of overriding is the ability to define behavior that’s specific to a particular subclass type.
1. The overriding method cannot have a more restrictive access modifier than the method being overridden (Ex: You can’t override a method marked public and make it protected).
2. You cannot override a method marked final
3. You cannot override a method marked static
12)   Can you override private or static method in Java ?
You can not override private or static method in Java, if you create similar method with same return type and same method arguments that's called method hiding.
Is this page helpful to you? Please give us your feedback below. We would love to hear your thoughts on these articles, it will help us improve further our learning process.
©2017, DevGlan. All Rights Reserved.
Contact us: firstname.lastname@example.org