Рубрики

Миф об имени файла и имени класса в Java

Первое примечание лекции, данное во время урока java, звучит так: «В java-файле имя и класс должны совпадать». При нарушении вышеуказанного закона появляется сообщение об ошибке компилятора, как показано ниже

/ ***** Имя файла: Trial.java ****** /

public class Geeks

{

   public static void main(String[] args) {

        System.out.println("Hello world");

   }

}

Выход:

javac Trial.java
Trial.java:9: error: class Geeks is public, should be
                    declared in a file named Geeks.java
public class Geeks
^
1 error 

Но миф может быть нарушен таким образом, чтобы скомпилировать файл выше.

/ ***** Имя файла: Trial.java ****** /

class Geeks

{

    public static void main(String[] args) {

        System.out.println("Hello world");

    }

}

Step 1: javac Trial.java

Step1 создаст Geeks.class (байт-код) без каких-либо сообщений об ошибках, поскольку класс не является общедоступным.

Step 2: java Geeks

Теперь на выходе будет Hello world

Миф об имени файла и имени класса должен быть одинаковым только тогда, когда класс объявлен в
общедоступный .

Вышеуказанная программа работает следующим образом:

Теперь этот файл .class может быть выполнен. С помощью вышеперечисленных функций можно совершить еще несколько чудес. Можно иметь много классов в файле Java. В целях отладки этот подход может быть использован. Каждый класс может быть выполнен отдельно для проверки их функциональности (только при одном условии: концепция наследования не должна использоваться).

Но в целом хорошо следовать мифу.

Например:

/ *** Имя файла: Trial.java *** /

class ForGeeks

{

   public static void main(String[] args){

      System.out.println("For Geeks class");

   }

}

  

class GeeksTest

{

   public static void main(String[] args){

      System.out.println("Geeks Test class");

   }

}

Когда вышеуказанный файл скомпилирован как javac, Trial.java создаст два файла .class как ForGeeks.class и GeeksTest.class .
Поскольку каждый класс имеет отдельную заглушку main (), они могут быть протестированы индивидуально.
Когда выполняется java ForGeeks , выводится класс For Geeks .
Когда выполняется Java GeeksTest , выводится класс Geeks Test .

Эта статья предоставлена Sowmya.LR . Если вам нравится GeeksforGeeks и вы хотите внести свой вклад, вы также можете написать статью и отправить ее по почте на contrib@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме

Рекомендуемые посты:

Миф об имени файла и имени класса в Java

0.00 (0%) 0 votes