К сожалению, задаю (вероятно) один из самых глупых вопросов на сайте

 
 
 
Сообщения:4
Искренне прошу прощения, что задаю вопрос тупицы. Упрямо пытаюсь начать изучать «Джаву», но каждый раз начинала и спотыкалась на одном и том же месте. :-( Пересмотрела около 30 сайтов «для начинающих», в том числе для детей, но ответа не нашла: возможно, он самоочевиден для всех, кроме меня.

Может быть, кто-нибудь любезно согласится объяснить, <s>куда же в этот электромобиль заливают бензин</s>? Заранее огромное спасибо.

public class Main {
         public static void  main(String[] args) {
         }
 }


1. Зачем писать второй раз public? Разве первый атрибут public не распространяется на весь последующий массив текста, который в фигурных скобках?

2. Что это за повторный main, да ещё с маленькой буквы, как будто это не class, а какой-то object, хотя никакой object ещё не создан? Что он выражает? Почему на цветных скриншотах он выделен другим, уникальным цветом?

Заранее благодарю за любой ответ, даже сатиричиеский. Спасибо за всё. За ваше собственное объяснение. За линк на сайт, где кто-то объяснил это НЕ для программистов на C++. За указание на ошибку, которая заключена в самом вопросе.

Только прошу не кидать ответ одного из этих двух видов: 1) с использованием понятий, неизвестных новичку (гуглабельные термины ОК); 2) «забей, просто перепиши и всё сработает».

Огромное спасибо!
 
 
Сообщения:770
Ральди:
1. Зачем писать второй раз public? Разве первый атрибут public не распространяется на весь последующий массив текста, который в фигурных скобках?
не распространяется. Он приложим только к самому классу Main, но не его содержимому.
Ральди:
2. Что это за повторный main, да ещё с маленькой буквы, как будто это не class, а какой-то object, хотя никакой object ещё не создан? Что он выражает? Почему на цветных скриншотах он выделен другим, уникальным цветом?
Это действительно не класс и не объект, а метод. В других языках аналогичные конструкции называются процедурами и/или функциями. Процедуры являются еще более фундаметальными программистскими конструкциями чем даже классы. Когда я в 16 лет стал изучать программирование, то процедура была для меня камнем преткновения. Но обойти этот камень не удастся, без освоения этого понятия никуда не сдвинешься. Процедуры - это основные узлы программы, а классы это так, обертки над наборами процедур для систематизации. Усвойте сначала что такое процедура, а потом двигайтесь дальше.
Изменен:02 янв 2019 15:46
 
 
Сообщения:9773
Ральди:
Пересмотрела около 30 сайтов «для начинающих», в том числе для детей, но ответа не нашла
По сайтам изучение сильно затянется. Нужно взять одну из книг для начинающих (Философия Java, Хорстман), и читать ее.
 
 
Сообщения:4
rfq:
Ральди:
1. Зачем писать второй раз public? Разве первый атрибут public не распространяется на весь последующий массив текста, который в фигурных скобках?
не распространяется. Он приложим только к самому классу Main, но не его содержимому.
Ральди:
2. Что это за повторный main, да ещё с маленькой буквы, как будто это не class, а какой-то object, хотя никакой object ещё не создан? Что он выражает? Почему на цветных скриншотах он выделен другим, уникальным цветом?
Это действительно не класс и не объект, а метод. В других языках аналогичные конструкции называются процедурами и/или функциями. Процедуры являются еще более фундаметальными программистскими конструкциями чем даже классы. Когда я в 16 лет стал изучать программирование, то процедура была для меня камнем преткновения. Но обойти этот камень не удастся, без освоения этого понятия никуда не сдвинешься. Процедуры - это основные узлы программы, а классы это так, обертки над наборами процедур для систематизации. Усвойте сначала что такое процедура, а потом двигайтесь дальше.


Спасибо за ваш ответ, время и внимание.

P.S. Вот здесь правильно, надеюсь.
 
 
Сообщения:4
Староверъ:
...Нужно взять одну из книг для начинающих (Философия Java, Хорстман), и читать ее.

Уважаемый Старовѣръ, спасибо за совѣтъ! Начало обѣихъ книгъ впечатляюще.
 
 
Сообщения:4
Я попыталась понять, что это значит -- атрибут применим к КЛАССУ, но не к его СОДЕРЖИМОМУ. То есть класс - это НЕ его содержимое. А что?

У класса есть 1)название; 2)содержимое; и 3)атрибут(ы). Возможно, также есть 4)суперкласс и 5)package, которые не имеют отношения к делу, потому что наследование не идёт против шёрстки. Имеющийся атрибут не применим к содержимому. Значит, к названию?

Но если под этим названием вписать новое содержимое, то существующий атрибут класса не будет приложим к нему тоже, верно?

А к чему он тогда приложим? Получается, что ни к чему? Ведь класс без содержимого - это вроде пустого множества? Зачем тогда ему атрибут?

Мне поможет только эвтаназия?
 
 
Сообщения:770
Ральди:
У класса есть 1)название; 2)содержимое; и 3)атрибут(ы).

Ральди:
Ведь класс без содержимого - это вроде пустого множества?

Вот когда вы научитесь видеть противоречия в вами же написанном тексте, хоть на русском языке, хоть на языке программирования, тогда и эвтаназия не понадобится.

Одного названия (допустим, Main) достаточно, чтобы где-то описать переменную "Main obj", и тут уж компилятору приходится решать, а доступен ли класс Main в данном контексте. Для этого и пишут "public Main", или не "public".
 
 
Сообщения:357
https://javatalks.ru/topics/51521 - мой гайд начала программирования в Java.
 
Модераторы:frymock
Сейчас эту тему просматривают:Нет