Difference between interface and abstract class with ex.

Answers were Sorted based on User's Feedback



Difference between interface and abstract class with ex...

Answer / aditya

Abstract Class :
1. Can have implemented(non-abstract) method
2. Can have any visibility public,protected,private


Interface :
1. All methods are non-implemented(abstract)
2. Only visibility is public or none
3. All variables should be static and final

Is This Answer Correct ?    17 Yes 0 No

Difference between interface and abstract class with ex...

Answer / sreenivas g

Abstract Class : If a class contains atleast one
non-concrete(not implemented) method, it is said to be
Abstract class. it should be defined with keyword abstract.
It is a combination of both implemented and non-implemented
methods.

Interface : By default all the methods in Interface are
abstract methods. All the methods are non-implemented in
interface.

Is This Answer Correct ?    18 Yes 2 No

Difference between interface and abstract class with ex...

Answer / janardhan

abstract class:-- abstract class contains abstract methods
and concreat methods,abstract class may have Zero(0)
abstract methods also, for example HttpServlet class is
best example for abstract class, HttpServlet class contains
Zero abstract methods, The SUN People declared HttpServlet
as abstract,B'ecz out side people unable to create object
for HttpServlet(abstract class)and due to security reasons
HttpServlet declared as abstract class.

If you are declared abstract methods in a abstract class,
we should provide the implementation in child classes.

we can't create Object for abstract class, we can create
refrence for abstract class.

In real-time, we can use abstract classes depends on
requirement only.

Interface:---

By default all the methods in Interface are public abstract
methods.Variables are by default public static final.
All the methods are non-implemented in interface and we
need to provide the implemantation for abstract methods in
interface implemented class(child class)

For example Servlet is a interface, if MyServlet class
implements Servlet, then we should provide the
implementation for Servlet interface methods like init
(),service(), destroy(),servletConfig(),etc..

EX:-- MyServlet implements Servlet{

init(){
........
........

}
service(){

........
...........

}
destroy(){

........
........

}
//we have some of the methods of Servlet interface ,those
//methods we need to implement here
}

Mostly In real time we need to use Interfaces.

for example :--

All business methods we need to declare in interface and we
need to provide the implementation for those business
methods in implemented class.

Main purpose of interface is :--

Reusability
maintainability

Example:--

public interface DaoInterface{

public abstract getDetails();
public abstract getProductId();
public abstract getProductName();
public abstract searchProduct();
public abstract editProduct();
.........
............
}

public class DaoClass implements DaoInterface{
public abstract getDetails();{

// we need to write our business logic here depends on
requirement.
}
public abstract getProductId();{
// we need to write our business logic here depends on
requirement.
}
public abstract getProductName();{
// we need to write our business logic here depends on
requirement.
}
public abstract searchProduct();{
// we need to write our business logic here depends on
requirement.
}
public abstract editProduct(); {
// we need to write our business logic here depends on
requirement.
}
}

Note:-- The above DaoInterface business methods any body
can implement their own way and write business logic
depends requirement.

Thanks

Jana

Is This Answer Correct ?    9 Yes 0 No

Difference between interface and abstract class with ex...

Answer / vinoth sing

abstract class contain both abstract and non abstract methods
vs
interface can have only abstract methods.

a class implementing a interface itself a abstract class.

eg for interface

interface shape2d
{
double getArea();
}

class circle implements shape2d
{
int radius;
public double getArea()
{
return math.pi*r*r;

}
circle(int radius)
{
this.radius=radius;
}
class circledemo
{

public static void main (string args[])
{
circle c= new circle(10);
system.out.println(c.getArea());
}

}

Is This Answer Correct ?    4 Yes 1 No

Post New Answer

More Core Java Interview Questions

What is the use of inner class?

0 Answers  


what are the different access specifiers that can be used by interfaces and abstract classes? can anyone give me detailed description on this

11 Answers   IBM, L&T,


Distinguish method overloading and method overriding

4 Answers   Tech Mahindra,


What is the difference between yield() and sleep()?

0 Answers  


What are Inner classes?

4 Answers  






Can I override protected method in java?

0 Answers  


what is thread? : Java thread

0 Answers  


What is multithreading ???? How to stop multithrading in java????

1 Answers   Cognizant,


why ,we are using jsp and html.which one is better?

2 Answers   Photon,


Explain naming conventions for packages?

0 Answers  


How is a variable stored in memory?

0 Answers  


Explain, why the constructor is required in implemented class?

4 Answers  


Categories