Describe OOP in java?
Answers were Sorted based on User's Feedback
OOP means object oriented programming, where objects play active role to fulfill request of the user. As per the OOP concept, objects have the below 4 features
Encapsulation: Objects have the ability to hide its state (properties) and behavior (methods) with the use of access modifier.
Inheritance: It is a technique to define child class / interface by extending parent class / interface. As a class implements interface is also comes under inheritance. It helps to override legacy method or abstract method with new functionality. It also facilitates the child class to access protected members of its parent.
Polymorphism: It means to overload or override the behaviors (method) of a class. There are two types of polymorphism
• Static / Compile time: To overload a method with in same class in called static or compile time polymorphism. As we call overloaded method, compiler knows which overloaded method will be called.
Example
1.Class A has two method suppose sum(int n1, int n2), sum(long n1, long n2)
2.You created instance of class A inside main method and statically called either as below
A a = new A();
a.sum1(2, 3) or a.sum(2l, 3l)
3.Hence compiler knew which overloaded method called.
• Dynamic / Run time: To override a method using inheritance is called dynamic or runtime polymorphism. Override method execution is decided at run time hence JVM can decide which override method should be called.
Example
1.Class A has a method sum() and do addition of two integers.
2.Class B is child class of A and override sum() method and do addition of two float numbers.
3.There is an another class C which has main method and inside main method we have below code snippet
A a = new B();
a.sum();
4.Now compiler knows it is method of class A will be called but at runtime the override method of class B will be called, as instance of class A will be bound with the reference of class B at runtime dynamically.
5.Hence Overriding is called dynamic or runtime polymorphism.
| Is This Answer Correct ? | 1 Yes | 0 No |
OOP means object oriented programming, where objects play active role to fulfill request of the user. As per the OOP concept, objects have the below 4 features
Encapsulation: Objects have the ability to hide its state (properties) and behavior (methods) with the use of access modifier.
Inheritance: It is a technique to define child class / interface by extending parent class / interface. As a class implements interface is also comes under inheritance. It helps to override legacy method or abstract method with new functionality. It also facilitates the child class to access protected members of its parent.
Polymorphism: It means to overload or override the behaviors (method) of a class. There are two types of polymorphism
• Static / Compile time: To overload a method with in same class in called static or compile time polymorphism. As we call overloaded method, compiler knows which overloaded method will be called.
Example
1. Class A has two method suppose sum(int n1, int n2), sum(long n1, long n2)
2. You created instance of class A inside main method and statically called either as below
A a = new A();
a.sum1(2, 3) or a.sum(2l, 3l)
3. Hence compiler knew which overloaded method called.
• Dynamic / Run time: To override a method using inheritance is called dynamic or runtime polymorphism. Override method execution is decided at run time hence JVM can decide which override method should be called.
Example
1. Class A has a method sum() and do addition of two integers.
2. Class B is child class of A and override sum() method and do addition of two float numbers.
3. There is an another class C which has main method and inside main method we have below code snippet
A a = new B();
a.sum();
4. Now compiler knows it is method of class A will be called but at runtime the override method of class B will be called, as instance of class A will be bound with the reference of class B at runtime dynamically.
5. Hence Overriding is called dynamic or runtime polymorphism.
Abstraction: Abstraction means to hide the complexity to the client. To make a class or method abstract is also a part of abstraction. The legacy and older implementations are kept in abstract class and we hide that legacy system to the client using abstraction. Suppose client is using override functionality then knowing about legacy system is of no use for client. Use of interface is also part of abstraction. If we have a fully functional DAO methods in DAO layer and we want to hide the method implementation to Service layer, then we have to use interface to provide only access of method to service layer. This way we create abstraction between DAO and service layer.
| Is This Answer Correct ? | 1 Yes | 0 No |
how would you implement a thread pool? : Java thread
Is string serializable in java?
What class allows you to read objects directly from a stream in java programming?
3.2 Consider the following class: public class Point { protected int x, y; public Point(int xx, int yy) { x = xx; y = yy; } public Point() { this(0, 0); } public int getx() { return x; } public int gety() { return y; } public String toString() { return "("+x+", "+y+")"; } } Say you wanted to define a rectangle class that stored its top left corner and its height and width as fields. 3.2.1 Why would it be wrong to make Rectangle inherit from Point (where in fact it would inherit the x and y coordinates for its top left corner and you could just add the height and width as additional fields)? (1) 8 Now consider the following skeleton of the Rectangle class: public class Rectangle { private Point topLeft; private int height, width; public Rectangle(Point tl, int h, int w) { topLeft = tl; height = h; width = w; } public Rectangle() { this(new Point(), 0, 0); } // methods come here } 3.2.2 Explain the no-argument constructor of the Rectangle class given above. 3.2.3 Write methods for the Rectangle class to do the following: • a toString() method that returns a string of the format "top left = (x, y); height = h; width = w " where x, y, h and w are the appropriate integer values. • an above() method that tests whether one rectangle is completely above another (i.e. all y values of the one rectangle are greater than all y values of the other). For example, with the following declarations Rectangle r1 = new Rectangle(); Rectangle r2 = new Rectangle(new Point(2,2), 1, 4); the expression r2.above(r1) should give true, and r2.above (r2) should give false. (You can assume that the height of a rectangle is never negative.) (2) (5)
What is means by DLL file means ? What is the use of DLL file? What are the contents of DLL file?
What is time complexity algorithm?
Explain final, finalize() and finally?
What is meant by structural programming?
What are different types of inner classes ?
for(i=0;i<100;i++) { int i=method();//method returns no's from 1 to 10; /* insert some stmts which can give output like no.of times numbers(1-10) returned. (for example if it returns 2 then i want output how many times 2 returned) like that i want output for no's 1 - 10 how many times each no returned. */ }
What is the functionality of the stub?
Why Java is not pure Object Oriented language?