Pages

Showing posts with label Core Java. Show all posts
Showing posts with label Core Java. Show all posts

Tuesday, 3 December 2013

Difference between Shallow and Deep Cloning



Shallow Cloning 

Deep Cloning 

1. It is a default cloning and can be done by using clone() method.

1.It is done by the user itself by writing the code for the deep cloning.
2. Shallow cloning fails to clone object members. 

2. Using deep cloning we can able to clone object member also .

Wednesday, 27 November 2013

Difference between Static and dynamic polymorphism



Static Polymorphism 

Dynamic Polymorphism 

1. It is otherwise called as compiler-time polymorphism.

1.It is otherwise called as run-time polymorphism.
2. Overloading is used to achieve this.

2.Both overriding and dynamic dispatch is used to achieve this.

3. It is also called as static binding as compiler is binding the method with the object based on the argument.

3. It is called as dynamic binding as JVM will decide from which class the method will be executed based on the object assign.


4.Static method can be overloaded.

4. Static method never follow dynamic dispatch concept. 

5. All works are done at the compilation time by the compiler that's why called as static binding.

5. All works are done at the run-time by the JVM that's why called as dynamic binding.

6. It is achieved by the compiler at the compile time.

5. It is achieved by the JVM at the run-time.

Tuesday, 26 November 2013

Difference between Abstract class and interface in Java





Abstract class  

Interface

1.  A class become abstract when we use ' abstract ' keyword before the class name.

1. No need of using any abstract keyword but we need to use ' interface ' keyword. 

2. We can use instance variable.

2. We cannot use any instance variable.
3. Can define static/ non-static variable.

3. Variables are by-default static.

4. Can use static/ non-static method

4. Static and non-static both cannot be used.

5. Can use private and protected with the variable 

5.  Cannot use private and protected with the variable.

6. Static and instance both initialization block are allowed. 

6. Both static and instance initialization block are not allowed.

7. Constructor are used to initialize instance variable defined in abstract class. 

7. Cannot define constructor in an interface.

8.Cannot be used for achieving multiple inheritance. 

8. It is used to achieve multiple inheritance in java.

9. Can define final and non-final method but final method should not be abstract. 

9. Cannot define final and non-final method.

10. Can define abstract and non-abstract method in an abstract class. 

10.Cannot define non-abstract method and by-default method are abstract.

11.' extends ' keywords are used to extend abstract class. 

11.' implements ' keyword are used to implement any interface.

12. It extends java.lang.Object class.

12.It cannot extend java.lang.Object class.

13. Can define main method in an abstract class. 

13.Cannot define main method in an interface.

14. Instance ' inner class ' is allowed inside as abstract class. 

14. Instance inner class in not allowed and will be converted into static inner class by compiler.

Saturday, 16 November 2013

What are the differences between public and private access modifier in java




Public access modifier  
Private access modifier

It is uses the public keyword in java .

It uses the private keyword in java.

Member defined using public is visible ANYWHERE.

Member defined using private is only visible to that class only

Public can be used with class.

Private cannot be used with the class

We can make an interface as public.

We cannot make an interface as private.

Thursday, 14 November 2013

Difference Between Top-level class and Inner class in Java




Top-level class  

Inner class

It cannot be declared as static.

It can be declared as static.
We cannot use private and protected access modifiers with top-level class
We can use private and protected
access modifiers with inner class as it is the member of the outer class. 
It can be executed independently by the JVM with its class name.
It cannot be executed independently
but can be executed with the the help
of its outer class 
Syntax for .class file -> 
< class_name > . class
Syntax for .class file -> 
< outer_class > $ < inner_class > . class

It cannot have any local top- level class.

We can have local inner class

Saturday, 26 October 2013

Difference between compiler and interpreter



Compiler  

Interpreter

1. To compile the programme for which compiler is used.

1. To interpret the programme
for which interpreter is used.
2. Compiler is used to compile whole programme at a time and produce all
the errors after inspecting all the instructions.  

2. Interpreter is used to interpret the
programme line by line and show
immediately if found while interpreting.

3. It check the whole programme once. 

3. It checks the programme line by
line and unless we correct the error occurred in respective line it won't interpret next line.


4. It is much faster.

4. It is slower as compared to compiler.

5. C is compiled language in which compiler is used to compiler the c code.

5. Java is compiled + Interpreted
language in which compiler and interpreter both are used.