views:

76

answers:

2

I know this is a stupid question, but still i have a doubt which needs to be cleared.

My question is why cannot we define a class as protected.

I know we cannot but why? There should be some specific reason.

+6  A: 

Because it makes no sense.

Protected class member (method or variable) is just like package-private (default visibility), except that it also can be accessed from subclasses.
Since there's no such concept as 'subpackage' or 'package-inheritance' in Java, declaring class protected or package-private would be the same thing.

You can declare nested and inner classes as protected or private, though.

Nikita Rybak
+2  A: 
public class A
{
    protected class B
    {
    }
}
irreputable