Давно хотел спросить. Когда вижу код подобный этому:
public class Solution
{
public Solution method1 (String s)
{
// bla-bla
}
}
... когда начинается описание класса и тут же внутри него описывается метод, имеющий тип этого же класса - мне всегда это кажется нелогичным.
Ведь класс ещё не описан до конца и не создан, да и вообще как это можно так внутри самого себя свой же тип использовать для метода?
Вот если бы было например 2 класса: один Solution, а другой скажем Answer. И метод Solution method1() объявлялся бы в классе Answer - тогда бы это казалось понятным и логичным. Т.е. сначала об"является новый класс (тип данных) Solution, а уже затем, когда он существует - его можно начинать использовать как тип для описания новых методов.
Как бы разобраться с этим? Может кто объяснить или посоветовать что почитать по этому поводу?