public class FileUploadLimiter { private static RequestCount m_RequestCounts = (new FileUploadLimiter()).RequestCount.RequestCount(); private class RequestCount { private int m_Count; public RequestCount(int count) { m_Count = count; } public int getCount() { return m_Count; } public synchronized int incrementCount() { m_Count++; return m_Count; } public synchronized int decrementCount() { m_Count--; return m_Count; } } public static void main(String[] args) { FileUploadLimiter fl = new FileUploadLimiter(); System.out.println("rq = " + FileUploadLimiter.m_RequestCounts.getCount()); } } [jay@mars ~/test]$ javac FileUploadLimiter.java FileUploadLimiter.java:2: unexpected type required: class, package found : value private static RequestCount m_RequestCounts = (new FileUploadLimiter()).RequestCount.RequestCount(); ^ FileUploadLimiter.java:2: cannot find symbol symbol : method RequestCount() location: class FileUploadLimiter.RequestCount private static RequestCount m_RequestCounts = (new FileUploadLimiter()).RequestCount.RequestCount(); ^ 2 errors [jay@mars ~/test]$