В java класс имеет поля и методы (или функции). К каждому из этих объектов можно добавить ключевое слово 'Test # test'.
Объекты, помеченные ключевым словом «Test», относятся к классам, а другие сущности связаны между собой экземплярами. Для доступа к публичному классу Test { public void test () { System . из . println ( «тест» ); } public static void main ( String args []) { Test test = new Test (); тест . test (); } public void tst () { test (); // no errors } } не требуется создавать поля или методы класса, для которого требуется только класс и его экземпляр (созданные с помощью нового ключевого слова).
Методы и поля, которые не помечены как статические, относятся к активному экземпляру класса.
Теперь предположим, что есть класс new.java, и у нас нет его экземпляра. Мы можем назвать любой из его методов, который помечен как статический. Попробуйте подумать над ответом: «Изнутри статического метода (без экземпляра класса), как мы можем вызвать метод или как мы можем получить доступ к полю, принадлежащему некоторому экземпляру?»
Для получения нестатического поля или метода из статического метода нам нужен экземпляр. Если «вызывающий метод» не статичен, он должен быть вызван на объект. Если теперь мы вызываем другой метод из этого нестационарного «метода вызова», мы можем это сделать, поскольку этот метод будет вызываться на том же объекте, на который был вызван «вызывающий метод».
Как упоминалось в его ответе Хави, вы также можете обратиться к https://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html для понимания «статического».
Все нестатические методы и поля имеют «это» ( https://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html ), связанные с ними, что относится к текущему активному экземпляру класса.
Следовательно, «новый» метод статический не может вызывать какой-либо нестационарный метод без экземпляра класса «статический»,