Program में method के call से method की definition को जोड़ना Binding होता है |
Java में Binding के दो प्रकार है |
जिस class में private, static या final method होता है वहा पर Static Binding होती है |
Compile-Time पर method को override नहीं किया जा सकता | ये methods अपने object से access होते है |
Source Code :
Reference Variable और Object क्या है ?
Class का Reference Variable
यहाँ पर s ये Sample class का reference variable है |class Sample{
public static void main(String args[]){
Sample s;
// s is a reference variable of Sample
}
}
Class का Object
यहाँ पर B class का object बनाया गया है | लेकिन A class inherit होने की वजह से ये उसका भी Object है |class A{
--------
}
class B extends A{
public static void main(String args[]){
B b; // b is a reference variable of class B
b = new Sample(); //instance/object of class B also
//instance/object of class A
Java में Binding के दो प्रकार है |
- Static Binding
- Dynamic Binding
1. Static Binding
Static Binding को Early Binding भी कहा जाता है | जब compile-time पर compiler द्वारा object निश्चित होता है , इसे Static Binding कहते है |जिस class में private, static या final method होता है वहा पर Static Binding होती है |
Compile-Time पर method को override नहीं किया जा सकता | ये methods अपने object से access होते है |
Example for Static Binding
Source Code :
class A{
static void disp(){
System.out.println("class A");
}
}
class B extends A{
static void disp(){
System.out.println("class B");
}
public static void main(String args[]){
A a = new A();
B b = new B();
a.disp();
b.disp();
}
}
Output :
class A class B
2. Dynamic Binding
Dynamic Binding को Late Binding भी कहा जाता है | ये Binding Compiler द्वारा compile-time पर नहीं होता | यहाँ पर classes के पास same methods होते है | यहाँ पर Method Override होता है | यहाँ पर दोनों classes के अन्दर एक ही signature का methods है |Source Code :
class A{
void disp(){
System.out.println("class A");
}
}
class B extends A{
void disp(){
System.out.println("class B");
}
public static void main(String args[]){
A a = new B();
a.disp();
}
}
Output :
class B







No comments: