$ cat SharedMailbox.java class SharedMailbox<T> { static private T slot = null; static void put(T t) { slot = t; } static T get() { return slot; } } $ javac -version javac 1.6.0_21 $ javac SharedMailbox.java SharedMailbox.java:2: non-static class T cannot be referenced from a static context static private T slot = null; ^ SharedMailbox.java:4: non-static class T cannot be referenced from a static context static void put(T t) ^ SharedMailbox.java:7: non-static class T cannot be referenced from a static context static T get() ^ 3 errors $