Consider following code:
The compiler says that
But wait a sec, there's no need to complain since there's no attempt to create an instance of Foo!
In fact, the keyword "new" is never used in the code. It shouldn't then matter whether Foo is or is not accessible.
Your goal is to explain the compiler's complaint.