answersLogoWhite

0


Best Answer

Static methods can refer to instance variables and methods, as long as they are static as well. The reason you cannot mix nonstatic and static class members is because they have different scope. Static members are independent of any particular object, whereas nonstatic members are unique for each object that is instantiated. To clarify, consider the following class:

class A

{

int x=0;

static int y=1;

}

If three instances of A are created, 3 instances of x will also be created. Changing one of those x's has no effect on the others. However, only one instance of y will be created, regardless of how many A's are ever created. A change in y will be reflected in every A.

Now, if you were to call A.y+=x, which x would you be referring to? 3 A's have been created, each with possibly different values of x. Because of the ambiguity of this, you will get a compiler error whenever you mix static and nonstatic members.

User Avatar

Wiki User

14y ago
This answer is:
User Avatar
More answers
User Avatar

Wiki User

12y ago

When a method declare as static then cannot access non_static class members because static method is called the class name when JVM loaded the class and non static class is loaded by JVM when created the object of the class..

This answer is:
User Avatar

User Avatar

Wiki User

14y ago

This is correct. Overridden static methods must be static and overridden non-static methods must not be static.

This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: A static method may not be overriden to be non static?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Continue Learning about Engineering

Can you refer non static method from static content in java?

Shortly, you can not.Different approaches are however available.1. Put your non static method in different class. Then call it from your static content by first instantiating the class.2. Make a duplicate static method for your non static method and use from your static content.


Static method can be overridden?

Depends. A non-static method that is declared final cannot be overridden. A non-static method in a final class cannot be overridden. A non-static method that is declared private cannot be overridden. A non-static method that is declared with package visibility cannot be overridden by classes in a different package. Other than that, yes.


It is perfectly legal to any instance variable inside of a static method?

No. You will get compilation errors. The complier will complain that you are trying to access non static variables from inside a static method. A static method can access only static variables.


What is the difference between static and nonstatic member with example in java?

It depends on whether the member is a static variable or a static method of the class.A non-static member variable is an instance variable. That is, each instance of the class has its own independent set of instance variables.A static member variable is not associated with any one instance of the class, and exists even when there are no instances of the class. As with all static variables, it exists for the entire duration of the program.A non-static member method is an instance method, thus the method automatically inherits a this pointer.A static member method does not inherit a this pointer, but it does have private access to to the class. Thus specific instances can be passed to a static method if necessary.Static members can be thought of as being common to all instances of a class, rather than a specific instance, even though no instances are actually required in order to make use of them.


Static method can use only static variable why?

A static method is a method that is a class method and is not attached to the object of that class. So if we use a non static variable of the class, it would most probably not have been initialized because no object could have been created for the class. Hence it would throw a null pointer exception. To avoid such an ambiguity, there is a restriction that static methods can use only static variables. This is to ensure that class methods can access only class variables both of which would get initialized simultaneously.

Related questions

Can you refer static method from non static method in java?

Yes, it is possible to call a static method from a non-static method. However, it is not possible to call a non-static method from a static method without first having an instance to operate on.


Can you refer non static method from static content in java?

Shortly, you can not.Different approaches are however available.1. Put your non static method in different class. Then call it from your static content by first instantiating the class.2. Make a duplicate static method for your non static method and use from your static content.


Static method can be overridden?

Depends. A non-static method that is declared final cannot be overridden. A non-static method in a final class cannot be overridden. A non-static method that is declared private cannot be overridden. A non-static method that is declared with package visibility cannot be overridden by classes in a different package. Other than that, yes.


Tell about static method?

in java a method is said to be static if 'static 'keyword is used before the method name . foe ex.- static void show(){ ........ } this method has the following property-- 1. it can invoke only a static method. 2. it can't be reffered using keyword 'this','super'. 3.static method can access only a STATIC MEMBER VARIABLE or STATIC CLASS VARIABLE . 4. there should not be static & non static version of a nethod in a class . 5.static method can be used before the creation of d object of dt class.


It is perfectly legal to any instance variable inside of a static method?

No. You will get compilation errors. The complier will complain that you are trying to access non static variables from inside a static method. A static method can access only static variables.


What is Static method in programming?

A static method in java is also named a class method, because it does not need an instance (of his class) to be invoked. Static methods can't use instance variables (non static variables) or use the keywords 'this'. These methods receive all the information they need to complete his task from his parameters


What is the difference between static and nonstatic member with example in java?

It depends on whether the member is a static variable or a static method of the class.A non-static member variable is an instance variable. That is, each instance of the class has its own independent set of instance variables.A static member variable is not associated with any one instance of the class, and exists even when there are no instances of the class. As with all static variables, it exists for the entire duration of the program.A non-static member method is an instance method, thus the method automatically inherits a this pointer.A static member method does not inherit a this pointer, but it does have private access to to the class. Thus specific instances can be passed to a static method if necessary.Static members can be thought of as being common to all instances of a class, rather than a specific instance, even though no instances are actually required in order to make use of them.


Open fopen create files. How to you create a folderdirectory?

In Visual C++, or C# you can use static method Directory or non-static DirectoryInfo.


Can you inherit static method in java?

Yes. While it is sometimes considered bad style to override static methods, you can treat them like any non-static methods when it comes to inheritance topics.


Static method can use only static variable why?

A static method is a method that is a class method and is not attached to the object of that class. So if we use a non static variable of the class, it would most probably not have been initialized because no object could have been created for the class. Hence it would throw a null pointer exception. To avoid such an ambiguity, there is a restriction that static methods can use only static variables. This is to ensure that class methods can access only class variables both of which would get initialized simultaneously.


Can you overload static methods in Java?

Yes you can overload the static method. But it should be avoided because memory to static methods are allocated at the time of class load.....so memory will be wasted if we don't use that methods. Whereas non-static method memory allocation depends on Object


When should you use static method and when should we use instance method?

Non-static methods are the "normal" type of methods for a class to have. They use instance variables to perform certain actions. In other words, object A and object B of the same class may behave differently when we call one of their Non-static methods depending on the value of their instance variables. Static methods on the other hand behave the exact same way for all instances of a class. object A and B of the same class will act in the same way when we call one of their Static methods. (*NOTE* Static methods cannot use instance variables)