Рубрики

Использование предопределенного имени класса в качестве имени класса или переменной в Java

В Java допускается использование предопределенного имени класса в качестве имени класса или переменной. Однако, согласно языку спецификации Java (§3.9), основное правило для именования в Java заключается в том, что вы не можете использовать ключевое слово в качестве имени класса, имени переменной или имени папки, используемой для пакета.
Использование любого предопределенного класса в Java не вызовет такой ошибки компилятора, поскольку предопределенные классы Java не являются ключевыми словами.

Ниже приведены некоторые недопустимые объявления переменных в Java:

boolean break = false; // not allowed as break is keyword
int boolean = 8; // not allowed as boolean is keyword
boolean goto = false; // not allowed as goto is keyword
String final = "hi"; // not allowed as final is keyword

Использование предопределенного имени класса в качестве пользовательского имени класса

  1. Вопрос: Можем ли мы иметь имя нашего класса в качестве одного из предопределенных имен классов в нашей программе?
    Ответ: Да, мы можем иметь это. Ниже приведен пример использования Number в качестве пользовательского класса

    // Число - это предопределенное имя класса в пакете java.lang
    // Примечание: пакет java.lang включен в каждую java-программу по умолчанию

    public class Number

    {

        public static void main (String[] args)

        {

            System.out.println("It works");

        }

    }

    Выход:

    It works
    
  2. Использование строки в качестве пользовательского класса:

    // String - это предопределенное имя класса в пакете java.lang
    // Примечание: пакет java.lang включен в каждую java-программу по умолчанию

    public class String

    {

        public static void main (String[] args)

        {

            System.out.println("I got confused");

        }

    }

    Однако в этом случае вы получите ошибку во время выполнения, например:

    Error: Main method not found in class String, please define 
    the main method as:
       public static void main(String[] args)
    

    Объяснение: Это потому, что главный поток ищет метод main () с предопределенным аргументом массива класса String . Но здесь он получил метод main () с пользовательским классом String. Всякий раз, когда основной поток увидит имя класса, он пытается найти область этого класса по области. Сначала он увидит в вашей программе, а затем в вашем пакете. Если JVM не найден, то для загрузки этого класса следует принцип иерархии делегирования. Поэтому вы получите ошибку во время выполнения.
    Для запуска вышеуказанной программы мы также можем указать полный путь к классу String, т.е. java.lang.String .

    // String - это предопределенное имя класса в пакете java.lang
    // Примечание: пакет java.lang включен в каждую java-программу по умолчанию

    public class String

    {

        public static void main (java.lang.String[] args)

        {

            System.out.println("I got confused");

        }

    }

    Выход:

    I got confused
    

Использование предопределенного имени класса в качестве пользовательского имени переменной

Вопрос: Можем ли мы иметь имя переменной в качестве одного из предопределенных имен классов в нашей программе?
Ответ: Да, мы можем иметь это.

// Число - это предопределенное имя класса в пакете java.lang
// Примечание: пакет java.lang включен в каждую java-программу по умолчанию

public class Number

{

    // переменная экземпляра

    int Number = 20;

      

    public static void main (String[] args)

    {

        // ссылочная переменная

        Number Number = new Number();

          

        // печать справки

        System.out.println(Number);

          

        // печать переменной экземпляра

        System.out.println(Number.Number);

    }

}

Выход:

Number@15db9742
20

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

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

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

Использование предопределенного имени класса в качестве имени класса или переменной в Java

0.00 (0%) 0 votes