answersLogoWhite

0

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.

User Avatar

Wiki User

16y ago

What else can I help you with?

Continue Learning about Engineering

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.


Why a static member method can access only static members in java?

Because, the keyword static signifies the fact that the method or variable that is qualified using the static keyword is not attached to any object of the class. Therefore we cannot instantiate the class and use the object to reference to access it. The only option we have is to use the class name to directly access them


Do static methods operate on objects why?

No. Why? By definition. A static method is, precisely, a method that is not meant to operate on an object. It can only work with static fields, and other static methods, of its class.


Can static variables be changed?

No, a static variable means that there is only one copy of that variable, and it is shared by all members of the class, or by all callers of a function.A variable that is read-only would be marked as const or final (depending on language).

Related Questions

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 the difference between final and static keywords?

static: we can use the keyword static either to method or to a variable. when we declare to a method,(eg: public static void main(String args[]),we can use this method without any object. when we use to a variable,there will be only one instance of that variable irrespective of how many objects that get created of that class. Final: Usage of final to method or to a variable makes them as constant. It's value cannot be changed...


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.


Why a static member method can access only static members in java?

Because, the keyword static signifies the fact that the method or variable that is qualified using the static keyword is not attached to any object of the class. Therefore we cannot instantiate the class and use the object to reference to access it. The only option we have is to use the class name to directly access them


Do static methods operate on objects why?

No. Why? By definition. A static method is, precisely, a method that is not meant to operate on an object. It can only work with static fields, and other static methods, of its class.


What is a Singleton class How do you write it?

"A class containing a static variable that stores a unique, and inaccesibleto external classes (private), intance of itself. The static variable isaccessed by a static method, with public access, usually called getIntance.The static variable is initiated by the static getInstance method thatvalidates wether or not the static variable already exits. If the staticvariable has not being initiated, a new instance of the class is createdand assigned to the static variable which reference is then returned by themethod. If the static variable was previously created, the method willreturn a reference to the static variable." 1A Singleton class is used when you wish to restrict instantiation of a class to only one object."Simple Singleton Pattern Example in AS3class Data{private static var dataInstance:Data;public static function getInstance():Data{if(!dataInstance) dataInstance = new Data();return dataInstance;}public function Data(){if(dataInstance) throw Error("instance exists, please use Data.getInstance()");}}" 21 [Daniel Guzman - AS3 Object Oriented Programming]2 [Daniel Guzman - AS3 Object Oriented Programming]


Can static variables be changed?

No, a static variable means that there is only one copy of that variable, and it is shared by all members of the class, or by all callers of a function.A variable that is read-only would be marked as const or final (depending on language).


Why static variables in a function have global extent?

A variable declared static outside of a function has a scope the of the source file only. It is not a global variable. A variable declared outside of a function and without the static qualifier would be a global variable.


What is singleton class it's implementation?

"A class containing a static variable that stores a unique, and inaccesibleto external classes (private), intance of itself. The static variable isaccessed by a static method, with public access, usually called getIntance.The static variable is initiated by the static getInstance method thatvalidates wether or not the static variable already exits. If the staticvariable has not being initiated, a new instance of the class is createdand assigned to the static variable which reference is then returned by themethod. If the static variable was previously created, the method willreturn a reference to the static variable." 1A Singleton class is used when you wish to restrict instantiation of a class to only one object."Simple Singleton Pattern Example in AS3class Data{private static var dataInstance:Data;public static function getInstance():Data{if(!dataInstance) dataInstance = new Data();return dataInstance;}public function Data(){if(dataInstance) throw Error("instance exists, please use Data.getInstance()");}}" 21 [Daniel Guzman - AS3 Object Oriented Programming]2 [Daniel Guzman - AS3 Object Oriented Programming]


What is importance of static variable?

The static modifier tells the system that this particular variable belongs to the class and does not belong to any specific instance of the same. The class will contain only one instance of the static variable irrespective of how many objects of the class you create.


Static keyword in java?

A Static method in Java is one that belongs to a class rather than an object of a class. Normal methods of a class can be invoked only by using an object of the class but a Static method can be invoked Directly. Example: public class A { ..... public static int getAge(){ .... } } public class B { ..... int age = A.getAge(); } In class B when we wanted the age value we directly called the method using the instance of the class instead of instantiating an object of the class. Tip: A static method can access only static variables. The reason is obvious. Something that is common to a class cannot refer to things that are specific to an object...