Polymorphism and Abstraction Flashcards

1
Q

What is Runtime Polymorphism?

A

Runtime Polymorphism or Dynamic Polymorphism is the polymorphism that exists at runtime. In case of method overriding it
is not known which method will be called at runtime. Based on the type of object, JVM decides the exact method that should be called.

So at compile time it is not known which method will be called at
run time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Explain the difference between

static and dynamic binding?

A

In Static binding references are resolved at compile time. In Dynamic binding references are resolved at Run time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is Abstraction in Object

Oriented programming?

A

Abstraction is the process of hiding certain implementation details of an object and showing only essential features of the object to
outside world.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How is Abstraction different from Encapsulation?

A
Abstraction happens at class level design. It results in hiding the
implementation details. Encapsulation is also known as “Information Hiding”. An example of encapsulation is marking the member variables private and providing getter and setter for these member variables.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is an abstract class in Java?

A
An abstract class in Java has one or more abstract methods. An abstract method is just declared in the abstract class, but it is not
implemented.
An abstract class has to be extended in Java and its abstract methods have to be implemented by a child class. Also Java does
not allow new instance of Abstract class.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Is it allowed to mark a method abstract as well as final?

A

No. It will be contradictory statement to mark a method abstract as well as final.

An abstract method has to be overridden by a child class. And a final method cannot be overridden. Therefore a method can be
either abstract or final in Java.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is an interface in Java?

A
An Interface in Java is an abstract type blueprint of a class. It contains the methods that a class must implement. It is like a
protocol.

It has method signatures and constant declarations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Is it allowed to mark an interface

method as static?

A

Yes, from Java 8 onwards, we can define static and default methods in an interface. Prior to Java 8, it was not allowed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a marker interface?

A

There are interfaces that do not have any data member or methods.
These interfaces are called Marker interface.
E.g. Serializable, Cloneable, Remote etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What can we use instead of Marker interface?

A

We can use annotations instead of Marker interface.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q
What is the difference between
abstract class and interface in Java?
A

An abstract class can have implemented methods with body (non-abstract methods). Interface has only abstract methods. From Java 8 onwards, interface can have static/default methods in implemented form.

An abstract class can have instance member variables. An interface cannot have instance variables. It can only have constants.

An abstract class can have a constructor. Interface cannot have constructor. It has to be implemented by another class.

A class can extend only one abstract class. A class can implement more than one interface.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly