В 9-м издании Ляна Introduction to Java Programming говорится: «Статический метод не может получить доступ к членам экземпляра класса» (стр. 312). Я понимаю, почему экземпляру-члену класса нужен доступ к методу (который может быть статическим), но почему методу нужен доступ к экземпляру-члену? Для меня «доступ» означает «доступ посредством оператора точки». Другими словами:
Class myClass = new Class();
myClass.someStaticMethod();
имеет смысл, тогда как:
someNonStaticMethod.myClass
or
someStaticMethod.myClass
не. Разрешен ли синтаксис someNonStaticMethod.myClass? Я не верю, что когда-либо видел такое форматирование. Если это не разрешено, зачем упоминать, что статические методы не могут получить доступ к членам экземпляра класса?
Пожалуйста, помогите развеять мое замешательство.
-DI
public static void someStaticMethod() { someInstanceMethod(); }
недействителен. - person Jon Skeet   schedule 02.12.2014Class.someStaticMethod()
, а не через экземпляр класса (т.е. вашmyClass.someStaticMethod();
) - person GriffeyDog   schedule 02.12.2014