Статический и нестатический метод
Метод - это серия утверждений, выполняемых для выполнения конкретной задачи. Методы могут принимать и выводить результаты. Статические и нестатические методы - это два типа методов, присутствующих в объектно-ориентированных языках программирования. Статический метод - это метод, связанный с классом. Метод, связанный с объектом, называется нестатическим (экземпляром) методом. В объектно-ориентированных языках методы используются как механизм для работы с данными, которые хранятся в объектах..
Что такое статический метод?
В объектно-ориентированном программировании статический метод - это метод, связанный с классом. Поэтому статические методы не имеют возможности работать с конкретным экземпляром класса. Статические методы могут быть вызваны без использования объекта класса, который содержит статический метод. Ниже приведен пример определения статического метода в Java. Статика должна использоваться при определении статического метода в Java.
публичный класс MyClass публичная статическая пустота MyStaticMethod () // код статического методаСтатический метод, определенный выше, можно вызвать следующим образом, используя имя класса, к которому он принадлежит.
MyClass.MyStaticMethod ();
Важно отметить, что статические методы могут получать доступ только к статическим элементам..
Что такое нестатический метод?
Нестатический метод или метод экземпляра - это метод, связанный с объектом в классе. Поэтому нестатические методы вызываются с использованием объекта класса, в котором этот метод определен. Нестатический метод может получить доступ к нестатическим членам, а также к статическим членам класса. Во многих объектно-ориентированных языках (таких как C ++, C #, Java), когда вызывается нестатический метод, объект, вызвавший метод, передается как неявный аргумент (он называется ссылкой this). Таким образом, внутри метода это ключевое слово может использоваться для ссылки на объект, вызвавший метод. Ниже приведен пример определения метода экземпляра в Java..
публичный класс MyClass public void MyInstanceMethod () // код метода экземпляра
Метод экземпляра, определенный выше, может быть вызван следующим образом с использованием объекта класса, к которому он принадлежит.
MyClass objMyClass = new MyClass ();
objMyClass.MyInstanceMethod ();
В чем разница между статическим и нестатическим методом?
Статические методы - это методы, связанные с классом, тогда как нестатические методы - это методы, связанные с объектами класса. Класс должен быть создан вначале для вызова нестатического метода, но статические методы не имеют этого требования. Они могут быть просто вызваны с использованием имени класса, который содержит статический метод. Другое важное отличие состоит в том, что нестатический метод обычно имеет ссылку на объект, вызвавший метод, и доступ к нему можно получить с помощью ключевого слова this внутри метода. Но это ключевое слово нельзя использовать в статических методах, поскольку они не связаны с конкретным объектом.