Когда подпрограмма Java не является методом? - PullRequest
3 голосов
/ 01 марта 2012

Я столкнулся с этим во время изучения Java в начале, но я учусь сверху вниз, поэтому я хотел бы получить какое-то направление:

Это было на руководстве по Java относительно рано:

В качестве последнего общего замечания вы должны знать, что подпрограммы в Java часто называются методами.Как правило, термин «метод» означает подпрограмму, которая содержится в классе или в объекте.Так как это верно для каждой подпрограммы в Java, каждая подпрограмма в Java является методом (с одним очень техническим исключением).То же самое не верно для других языков программирования.Тем не менее, термин «метод» в основном используется в контексте объектно-ориентированного программирования, и пока мы не начнем заниматься реальным объектно-ориентированным программированием в главе 5, я бы предпочел использовать более общий термин «подпрограмма».Тем не менее, я должен отметить, что некоторые люди предпочитают использовать термин «метод» с самого начала.

Мой вопрос заключается в том, что это за «одно очень техническое исключение».Поскольку я изучаю технологии нескольких стеков, я хотел бы знать это конкретное исключение, о котором он говорит.Из этого урока: http://math.hws.edu/javanotes/c2/

Ответы [ 2 ]

6 голосов
/ 01 марта 2012

Цитирование из главы 5 учебника, с которым вы связаны:

Конструкторы - это подпрограммы, но они являются подпрограммами специального типа.Они, конечно, не являются экземплярами методов, поскольку они не принадлежат объектам.Поскольку они отвечают за создание объектов, они существуют до того, как будут созданы какие-либо объекты.Они больше похожи на статические подпрограммы-члены, но они не являются и не могут быть объявлены как статические.Фактически, согласно спецификации языка Java, они технически вообще не являются членами класса!В частности, конструкторы не называются «методами».

2 голосов
/ 01 марта 2012

Класс конструкторы не являются методами.

...