Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

What is static binding and where it occurs?

Answer Posted / yogesh mudgil

If the compiler can resolve the binding at the compile time
only then such a binding is called Static Binding or Early
Binding. All the instance method calls are always resolved
at runtime, but all the static method calls are resolved at
compile time itself and hence we have static binding for
static method calls. Because static methods are class
methods and hence they can be accessed using the class name
itself (in fact they are encourgaed to be used using their
corresponding class names only and not by using the object
references) and therefore access to them is required to be
resolved during compile time only using the compile time
type information. That's the reason why static methods can
not actually be overriden.
Similarly, access to all the member variables in Java
follows static binding as Java doesn't support (in fact, it
discourages) polymorphic behavior of member variables. For
example:-

class SuperClass{
...
public String someVariable = "Some Variable in SuperClass";
...
}

class SubClass extends SuperClass{
...
public String someVariable = "Some Variable in SubClass";
...
}
...
...

SuperClass superClass1 = new SuperClass();
SuperClass superClass2 = new SubClass();

System.out.println(superClass1.someVariable);
System.out.println(superClass2.someVariable);
...

Output:-
Some Variable in SuperClass
Some Variable in SuperClass

We can observe that in both the cases, the member variable
is resolved based on the declared type of the object
reference only, which the compiler is capable of finding as
early as at the compile time only and hence a static
binding in this case. Another example of static binding is
that of 'private' methods as they are never inherited and
the compile can resolve calls to any private method at
compile time only.

Is This Answer Correct ?    4 Yes 3 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Can Exception handling we can handle multiple catch blocks?

1040


How does class forname work in java?

961


Name container classes in java programming?

1088


What does the “static” keyword mean?

1098


Why is sizeof not a function?

996


Explain wrapper classes in java?

990


Explain about data types?

1077


Why is multithreading important?

938


Outline the major features of java.

1074


What is independent and dependent variables in research?

860


What is the difference between path and classpath variables?

1049


What happens when heap memory is full?

983


How to create com object in Java?

1071


Are strings immutable in java?

974


Is 0 an even number?

985