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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!