Еще один интересный момент для рассмотрения - случай, когда у вас есть два разных класса в java-файле.
Например, у вас есть Java-файл с двумя классами:
public class FirstClassMultiply {
public static void main (String args[]){
System.out.println("Using FirstClassMultiply");
FirstClassMultiply mult = new FirstClassMultiply();
System.out.println("Multiple is :" + mult.multiply(2, 4));
}
public static void main (int i){
System.out.println("Using FirstClassMultiply with integer argument");
FirstClassMultiply mult = new FirstClassMultiply();
System.out.println("Multiply is :" + mult.multiply(2, 5));
}
int multiply(int a, int b) {
return (a * b);
}
}
class SecondClass {
public static void main(String args[]) {
System.out.println("Using SecondClass");
FirstClassMultiply mult = new FirstClassMultiply();
System.out.println("Multiply is :" + mult.multiply(2, 3));
FirstClassMultiply.main(null);
FirstClassMultiply.main(1);
}
}
Компиляция его javac FirstClassMultiply.java
будет генерировать два .class
файлов, первый из них является FirstClassMultiply.class
и второй один SecondClass.class
И для того, чтобы запустить вам нужно будет сделать это для сгенерированных файлов .class
: java FirstClassMultiply
и java SecondClass
, а не исходный файл файла.
Пожалуйста, обратите внимание, пару дополнительных очков:
- Вы сможете запустить
SecondClass.class
хотя это класс не был публичным в оригинальном файле!
FirstClassMultiply
overloading основного метода от того, является совершенно нормально, но, то только точка входа на ваш прог будет основным методом с String args[]
аргументом.
Мудрые слова: D Спасибо! – guy8214