Static methods can not directly access any instance variables or methods. But they can access them by using their object reference. Static methods may even access private instance variables via a object reference.
public class Program {
private int count;
public Program(int ballcount){
count=ballcount;
}
public static void main(String argv[]){
Program s = new Program(99);
//System.out.println(count); //compile time error
//add(10); //compile time error
System.out.println(s.count);
s.add(10);
System.out.println(s.count);
}
private void add(int num) {
count += num;
}
}The output result is
99 109
All private instance variables are private to its class, they can be accessed by static methods or non-static method of the class.
Comments
Post a Comment