title: Confusion regarding access specifiers in Java and C#
body: <p>I was comparing access modifiers in Java and C#. I wanted to find an alternative of C#'s <code>protected internal</code> in Java. But I noticed that <code>protected</code> modifier is different in both the languages (<a href="http://msdn.microsoft.com/en-us/library/ba0a1yw2">C#</a> and <a href="http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html">Java</a>). <code>protected</code> in Java is equivalent to <code>protected internal</code> of C# because the member gets accessible within the same package too.</p>
  
  <p>I have two questions</p>
  
  <ul>
  <li>Why have they created different meanings to same modifier in Java and C#?</li>
  <li>How can I have <code>protected</code> of C# (<em>Access is limited to the containing class or types derived from the containing class.</em>) in Java?</li>
  </ul>