2015-06-20 2 views
0

Я смущен о модификаторах доступа, так что я бы задать пару быстрых вопросов для уточнения доступа по умолчанию:Понимание модификаторов

всегда ли это так, что при отсутствии модификаторов доступа к членам данных класса , по умолчанию private, хотя сам класс internal?

class A 
{ 
    int x; 
} 

Так, int x является private int x и class A является internal class A?

=========================================

Также , почему следующий код не будет компилироваться?

class A 
{ 
    protected int x; 
} 

public class B : A 
{} 
+0

это довольно ясное сообщение об ошибке: _Включая доступность: базовый класс «А» менее доступен, чем класс «B'_ – Grundy

+1

Если' '' '' '' '' '' '' '' '' '' '' '', то он 'internal'. Если он является членом другого класса, то он является «частным». – PetSerAl

ответ

2

Как documentation состояний, классы и структуры являются по умолчанию внутренние и их члены являются частными.

Код не будет компилироваться, потому что, как сообщит сообщение об ошибке, вы не сможете наследовать из менее доступного класса. В этом случае дочерний класс будет общедоступным, а родительский - внутренним.

Смежные вопросы