@ Ответ Йенса (заявление об отказе: я снял) кажется полностью правильным.
Однако я не уверен, что он отвечает на ваш вопрос очень прямо, поэтому я добавлю немного сюда.
Свойство public - это свойство этого класса instance , которое доступно для использования другими объектами (функция: вызов, переменная: доступ и т. Д.). Однако, чтобы использовать их, вы должны иметь ссылку (как очень простой указатель, если это поможет?) На этот экземпляр объекта. Объект, который создает (создает, новый ...) этот объект, может взять эту ссылку, присвоив ее переменной этого типа класса.
// Reference is now stored in 's'
public ExampleClass s = new ExampleClass();
Если вы хотите, у вас есть возможность создать статическое свойство, которое доступно, просто зная имя class . Это свойство будет общим для всех экземпляров этого класса, и любой внешний класс может ссылаться на него (предполагая, что это public static ), ссылаясь на имя класса.
A public свойство ссылается на ссылку, которую вы сохранили.
//public property access
s.foo
s.bar(var)
Статическое свойство ссылается на имя класса.
//static property access
ExampleClass.foo
ExampleClass.bar(var)
Как только вы создали экземпляр и сохранили ссылку на объект, вы можете передавать его по своему усмотрению. Приведенный ниже объект типа OtherExampleClass получит ссылку на 's' в своем конструкторе и должен будет сохранить его в своей локальной переменной, чтобы сохранить ссылку.
public OtherExampleClass s2 = new OtherExampleClass(s);