Discussion Forum : Declaration And Access Control
Question - What is the result of compiling and running the following code?
public class Tester{
static int x = 4;
int y = 9;
public Tester(){
System.out.print(this.x); // line 1
printVariables();
}
public static void printVariables(){
System.out.print(x); // line 2
System.out.print(y); // line 3
}
public static void main(String... args) { // line 4
new Tester();
}
}
Options:
A .  Compile error at line 1 (static x must be only accessed inside static methods)
B .  Compile error at line 3 (static methods can't make reference to non-static variables)
C .  Compile error at line 4 (invalid argument type for method main)
D .  49
E .  Compile error at line 2 (must access x by writing Tester.x)
Answer: Option B
static methods cannot make references to non-static variables.

Was this answer helpful ?
Next Question
Submit Your Solution hear:

Your email address will not be published. Required fields are marked *