[go: up one dir, main page]

0% found this document useful (0 votes)
306 views10 pages

Pc8 - Oop Static Methods and Fields

Static methods and fields belong to the class rather than objects of that class. They can be accessed without creating an instance of the class. A static variable has a single copy shared among all instances of the class, while an instance variable has a separate copy for each instance. Static methods are useful for utility methods that don't require object state or for methods that access shared state. They are called using the class name rather than an object. However, static methods cannot directly access instance variables or call instance methods.

Uploaded by

Rhene Llona
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
306 views10 pages

Pc8 - Oop Static Methods and Fields

Static methods and fields belong to the class rather than objects of that class. They can be accessed without creating an instance of the class. A static variable has a single copy shared among all instances of the class, while an instance variable has a separate copy for each instance. Static methods are useful for utility methods that don't require object state or for methods that access shared state. They are called using the class name rather than an object. However, static methods cannot directly access instance variables or call instance methods.

Uploaded by

Rhene Llona
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

PC8

OBJECT ORIENTED
PROGRAMMING
TOPIC: Static methods and Fields

Mr. Dan Lester B. Belarmino,


MSITInstructor/Professor
Information Technology
Second Semester, AY: 2022 – 2023
TOPIC: Static Methods and Fields

Fundamentals
A static variable or class variable is
any field declared with the static
modifier; this tells the compiler that
there is exactly one (1) copy of this
variable in existence, regardless of how
many times the class has been
instantiated.
TOPIC: Static Methods and Fields

Fundamentals
Example:
public class StaticVarDemo { static int
count = 0; public void increment() {
count++;
}
public static void main(String args[]) {
StaticVarDemo obj1 = new StaticVarDemo();
StaticVarDemo obj2 = new StaticVarDemo();
obj1.increment();
System.out.println("Obj1: count = "+ obj1.count);
obj2.increment();
System.out.println("Obj1: count = "+ obj1.count);
System.out.println("Obj2: count = "+ obj2.count);
}
}
TOPIC: Static Methods and Fields

Fundamentals
∙ A static method belongs to the class rather than the object
of a class.
1. It can be invoked without creating an instance of a class.
2. It can access static members and change their values.
∙ Static methods have two (2) main purposes:
1. For utility or helper methods that don’t require any object
state: Since there is no need to access
instance variables, having static methods eliminates the
need for the caller to instantiate the object just to call
the method.
2. For a state shared by all instances of a class (like a
counter): All instances must share the same state.
Methods that merely use that state should be static as
well.
TOPIC: Static Methods and Fields

Fundamentals
∙ To call a static method or variable, put the class name before the
method or variable.
Example:
class NumberClass {
public static int num = 0;
public static void displayNumber() {
System.out.print(num);
}
}
public class NumberClassDemo {
public static void main(String[] args) {
System.out.print(NumberClass.num);
NumberClass.displayNumber();
}
}
Output: 00
TOPIC: Static Methods and Fields

Fundamentals
∙ An instance of an object can be used to call a static method or update a
static variable.
Example:
public class NumberClass { public static int
num = 0;
public static void main(String[] args) {
NumberClass.num = 4;
NumberClass nc1 = new NumberClass(); NumberClass
nc2 = new NumberClass(); nc1.num = 6;
nc2.num = 5; System.out.print(NumberClass.num);
}
}
Output: 5
Explanation: There is only one (1) num variable since it is static.
TOPIC: Static Methods and Fields

Fundamentals
Static versus Instance
∙ An instance variable or method is any variable or
method that is non-static.
o It requires an object of its class to be created
before it can be used or called.
∙ An instance variable is any variable that is declared
outside any method, constructor, or block.
TOPIC: Static Methods and Fields

Fundamentals
TOPIC: Static Methods and Fields

Fundamentals
Example of a static method calling an instance method:
public class NumberClass { public static int num = 0;

public static void main(String[] args) { displayNumber(); //does not compile


}
public void displayNumber() { System.out.print(num);

}
Example of a static method trying to access an instance variable:

public class NumberClass { int num = 0;

public static void main(String[] args) { displayNumber();


}
public static void displayNumber() { System.out.print(num); //does not compile

}
A N K
-- T H
U ! - -
YO

You might also like