// What is the output of this code? class Week8 { public static void main(String[] a) { System.out.println(new Foo().Init().Goo(2)); } } class Pop { int foo; public int Foo() { return foo; } public int Bar() { return foo+1; } public int Goo(int bar) { System.out.println(bar); return 0; } } class Foo extends Pop { boolean foo; int bar; public Pop Init() { bar = 100; foo = true; return this; } public int Foo() { int bar; if (foo) bar = 2; else bar = 3; return bar; } public int Goo(int bar) { int baz; baz = bar + 5; System.out.println(this.Foo()); System.out.println(this.Bar()); System.out.println(bar); return baz; } }