Question: I am quite confused about java static and instance variable, for example: public class Foo { int i; static int s ; public Foo() {
I am quite confused about java static and instance variable,
for example:
public class Foo { int i; static int s; public Foo() { i++; s++; } public static void main(String[] args) { Foo f1 = new Foo(); System.out.println("f1.i is " + f1.i + " f1.s is " + f1.s); Foo f2 = new Foo(); System.out.println("f2.i is " + f2.i + " f2.s is " + f2.s); Foo f3 = new Foo(); System.out.println("f3.i is " + f3.i + " f3.s is " + f3.s); } } the output is :
f1.i is 1 f1.s is 1 f2.i is 1 f2.s is 2 f3.i is 1 f3.s is 3
Why the static int s will increase while instance i remains the same?
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
