Blog Archives

03: Q16 – Q17 Java Polymorphism vs Overriding vs Overloading

Polymorphism is the ability of a class instance to behave as if it were an instance of another class in its inheritance tree, most often one of its ancestor classes. Overriding is the means by which you achieve polymorphism. Java Polymorphism vs Overriding vs Overloading explained in detail to handle drill down Java OOP interview questions with ease when quizzed further.

Q16. Can you describe “method overloading” versus “method overriding”? Does it happen at compile time or runtime?
A16. Method overloading: Overloading deals with multiple methods in the same class with the same name but different method signatures. Both the below methods have the same method names but different method signatures, which mean the methods are overloaded.

This happens at compile-time. This is also called compile-time polymorphism because the compiler must decide how to select which method to run based on the data types of the arguments. If the compiler were to compile the statement:

it could see that the argument was a string literal, and generate byte code that called method #1.… Read more ...



04: Q18 Explain abstraction, encapsulation, Inheritance, and polymorphism with the given Java code?

Q18. Given code:

A18. Firstly, let’s take abstraction and encapsulation as the difference is subtle. Abstraction is often not possible without encapsulation because if a class exposes its internal state, it can’t change its inner workings. Encapsulation hides the underlying state. One of the ways to achieve abstraction is by sub classing. The interface “List” is an abstraction for a sequence of items indexed by their position. The concrete examples of a list are “ArrayList<E>”, “LinkedList<E>”, CopyOnWriteArrayList<E>, etc.

Screen shot 2015-03-07 at 9.25.16 PM

Both abstraction and encapsulation solve same problem of complexity in different dimensions. Encapsulation exposes only the required details of an object to the caller by forbidding access to certain members,

Q. Why is it good to access state via public methods like getAge(), setAge(), etc as opposed to directly accessing the state “age”?
A.

1) The methods like setAge(int age) can perform precondition checks when setting the age by validating and throwing exception when age is -ve or very high positive like 120+.
2) Encapsulation promotes abstraction by only exposing public methods and the private methods are for internal implementation use. If a class exposes its internal state, it can’t change its inner workings in different implementations.… Read more ...



05: Q19-Q24 How to create a well designed Java application?

A software application is built by coupling various classes, modules, and components. Without coupling, you can’t build a software system. But, the software applications are always subject to changes and enhancements. So, you need to build your applications such a way that they can not only adapt to growing requirements,…

Read more ...


06: Q25 – Q32 SOLID design principles interview questions & answers for Java developers

Design principles interview questions & answers for Java developers so that you can expand your OOP skills to design robust Java apps Q25. What are the SOLID design principles? A25. SOLID is an abbreviation for 5 design principles. SRP (Single Responsibility Principle) If you have a class with calculation logic,…

Read more ...
Tags:

07: Q33 Top 5 OOP tips for Java developers

Tip #1: Tightly encapsulate your classes. A class generally contains data as well as methods, and is responsible for the integrity of its own data. The standard way to protect the data is to make it private, so that no other class can get direct access to it, and then write…

Read more ...
Tags:

08: Write code to add, subtract, multiply, and divide given numbers?

A trivial coding example (i.e. a Calculator) tackled using the following programming paradigms in Java not only to perform well in coding interviews, but also to learn these programming paradigms.

Approach 1: Procedural Programming
Approaches 2 – 4: Object Oriented Programming
Approach 5: Functional Programming (Java 8)

Approach 1: Procedural

Read more ...


Q1 – Q10 Java OOPs interview Q&As

If you don’t get Java OOPs interview questions & answers right in the job interviews you can say OOPS !!!! to your Java interview success. Q1. Is Java a 100% Object Oriented (OO) language? if yes why? and if no, why not? A1. I would say Java is not 100%…

Read more ...
Tags:

Understanding Open/Closed Principle (OCP) from the SOLID OO principles with a Java example

Q. Is there anything wrong with the following class design? If yes, can the design be improved?

JUnit test class.

Read more ...


What are good real life Java inheritance (or use of abstract classes) examples ?

We have already looked at Why favor composition over inheritance? with reasoning and code examples. Inheritance still has its use and let’s look at some real life examples. #1. Unit Test Classes

In the base class you can wire up Spring configs, shared logic, etc. For example, you may…

Read more ...
Tags:

Why favour composition over inheritance?

This is not only one of the most popular Java OOP Interview Questions & Answers asked 90% of the time in job interviews, but also a key OOP concept you must know well. The correct answer depends on the problem you are trying to solve, and the answer you give…

Read more ...


500+ Enterprise & Core Java programmer & architect Q&As

Java & Big Data Tutorials

Top