Shadow.java
public class Shadow // variable shadowing or name masking
{
static int i; // uninitialized fields are set to 0
public static void main(String[] args)
{
// access static field in a static context, main():
System.out.println("uninitialized static int: " + i);
int i = 1; // shadow Shadow.i
System.out.println("local variable: " + i);
System.out.println("static field: " + Shadow.i);
System.out.println("static field: " + new Shadow().i);
}
}
/*
javac Shadow.java
java Shadow
uninitialized static int: 0
local variable: 1
static field: 0
static field: 0
*/
Comments
Post a Comment