



Метод main() - это точка входа для приложения Java. run() обычно используется для новых потоков или задач.
Где вы писали метод run(), какое приложение вы пишете (например, Swing, AWT, консоль и т. д.) И какая у вас среда разработки?
Я работаю в Eclipse, и хотя я не знаю, что означают AWT или свинг, я определенно написал консольные программы. До сих пор все мои программы имели только 1 метод run () и ни одного метода main ().
Хм ... Я только что пробовал в Eclipse и не могу запускать классы, у которых есть только метод run (). Как вы запускаете эти программы?
В Java есть специальный статический метод:
public static void main(String[] args) { ... }
который выполняется в классе, когда класс запускается с помощью командной строки java:
$ java Class
выполнял бы указанный метод в классе "Class", если бы он существовал.
public void run() { ... }
требуется интерфейсом Runnable или наследуется от класса Thread при создании новых потоков.
Это странный вопрос, потому что это не должно быть вопросом выбора.
Когда вы запускаете JVM, вы указываете класс для запуска, и именно main() этого класса запускает вашу программу.
Под init(), я полагаю, вы имеете в виду метод JApplet. Когда апплет запускается в браузере, метод init() указанного апплета выполняется в качестве первого порядка действий.
Под run(), я полагаю, вы имеете в виду метод Runnable. Это метод, вызываемый при запуске нового потока.
Если Eclipse запускает ваш метод run(), даже если у вас нет main(), значит, он делает что-то необычное и нестандартное, но не выполнимое. Возможно, вам стоит опубликовать образец класса, который вы использовали таким образом.
Ха-ха-ха, хорошо: я импортирую файлы из библиотек, которые не могу прочитать. Так что, вероятно, где-то создается Runnable, а затем мои методы run () запускают исполняемые файлы. Это было здорово, спасибо!
Метод main - это точка входа в приложение Java.
В частности, когда виртуальной машине Java сказано запустить приложение, указав его класс (с помощью средства запуска приложений java), она будет искать метод main с подписью public static void main(String[]).
От Sun's Командная страница java:
The java tool launches a Java application. It does this by starting a Java runtime environment, loading a specified class, and invoking that class's main method.
The method must be declared public and static, it must not return any value, and it must accept a
Stringarray as a parameter. The method declaration must look like the following:public static void main(String args[])
Дополнительные ресурсы о том, как выполняется приложение Java, можно найти в следующих источниках:
Метод run является точкой входа для нового Thread или класса, реализующего интерфейс Runnable. Он не вызывается виртуальной машиной Java при запуске командой java.
Поскольку Thread или Runnable не могут быть запущены непосредственно виртуальной машиной Java, они должны вызываться методом Thread.start(). Это может быть выполнено путем создания экземпляра Thread и вызова его метода start в методе main приложения:
public class MyRunnable implements Runnable
{
public void run()
{
System.out.println("Hello World!");
}
public static void main(String[] args)
{
new Thread(new MyRunnable()).start();
}
}
Для получения дополнительной информации и примера того, как запустить подкласс Thread или класс, реализующий Runnable, см. Определение и запуск потока из Руководств по Java.
Метод init - это первый метод, вызываемый в Апплет или JApplet.
Когда апплет загружается подключаемым модулем Java браузера или программой просмотра апплетов, он сначала вызывает метод Applet.init. Здесь должны выполняться любые инициализации, необходимые для использования апплета. После завершения метода init вызывается метод start.
Для получения дополнительной информации о том, когда вызывается метод init апплета, прочтите о жизненном цикле апплета в The Жизненный цикл апплета из Руководств по Java.
См. Также: Как делать апплеты из Руководства по Java.
как новичок, я импортирую пакеты acm, и в этом пакете run () запускает выполнение потока, init () инициализирует Java-апплет.
Прежде чем отвечать на старые вопросы, посмотрите, не опубликовал ли кто-нибудь ваш ответ. Imho, вы не предлагаете чего-то нового по сравнению с ответом Jegschemesch.
Используете ли вы инструмент с графическим интерфейсом, который создает для вас набор скелетного кода и в который вы вставляете свой метод запуска?