Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Java to C#

26.10.14 22:19
Re: Java to C#
 
MrSanders старожил
в ответ AlexNek 26.10.14 21:57
В ответ на:
очень похоже что static имсеет в Яве совсем другое значение чем мне кажется.

Да нет, почему. Static показывает что поле, метод или внутренний класс принадлежат классу, а не объектам класса.
static поле - как и в шарпе, "означает что на все инстансы у нее будет одно и тоже значение и для доступа к ней this также не нужен".
static метод - для его вызова не нужен объект, вызывается у класса, у него нет доступа к не-static полям и методам класса.
А вот static класс отличается от шарпа. В яве static класс может быть только у вложенного класса, "нормальный" класс в яве static быть не может. У вложенного класса static означает примерно как у метода - такой класс имеет доступ только к статическим полям класса-родителя. Не-статический вложенный (внутренний) класс существует в рамках объекта, он "внутри" объекта, потому имеет доступ к объекту - к его приватным полям, приватным методам.
 

Перейти на