2013-02-19 3 views
0

Ну, я знаю, что статический класс выделен в «High Frequency Heap», и они созданы для быстрого доступа и все, кроме того, что происходит внутри? Почему им не разрешено создавать экземпляры.Почему статический класс не может быть создан

На самом деле было интересно узнать, что происходит внутри, когда компилятор видит слово «Static»

+2

Статические классы являются «статическими», они не будут полагаться на переменные экземпляра и не имеют собственного состояния. – TGlatzer

+4

Это напоминает мне вопрос «почему закрытые классы не могут быть унаследованы» ... –

+1

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

ответ

2

Static Classes and Static Class Members (C# Programming Guide)

Статический класс в основном такой же, как нестатический класс, но есть одна разницы: статический класс не может быть создан , В других словах вы не можете использовать новое ключевое слово для создания переменной типа класса . Поскольку нет переменной экземпляра, вы получаете доступ к членам статического класса с использованием самого имени класса.

+0

См. Изменение @Habib – Shrivallabh

+0

@Shrivallabh, это другой вопрос , ключевое слово 'static' будет иметь разное значение с классом, методами, свойствами и т. д. – Habib

+0

Я хотел знать одно и то же с классом, и каждый из них проголосовал :( – Shrivallabh

3

Это не представляется возможным создавать экземпляры статического класса.

Статические классы и классы используются для создания данных и функций, к которым можно получить доступ, не создавая экземпляр класса. Статические члены класса могут использоваться для разделения данных и поведения, не зависящих от любого идентификатора объекта: данные и функции не изменяются независимо от того, что происходит с объектом. Статические классы могут использоваться, когда нет данных или поведения в классе, которые зависят от идентичности объекта.

Основные особенности статического класса:

  • Они содержат только статические члены.
  • Невозможно создать экземпляр.
  • Они запечатаны.
  • Они не могут содержать конструкторы экземпляров (руководство по программированию на C#).
  • пункт Списка

http://msdn.microsoft.com/en-gb/library/79b3xss3(v=vs.80).aspx

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