Как вы составили этот набор вопросов?

Я просмотрел множество веб-сайтов, видео на YouTube и прошел собеседования, и, основываясь на этом, я собираюсь поделиться с новичками и опытными людьми наиболее важными вопросами для собеседований по Java.

1.) Является ли Java чистым объектно-ориентированным языком программирования?

Ответ: Нет, Java не является чисто объектно-ориентированным языком программирования, потому что
а.) он поддерживает примитивные типы данных, такие как int, char, long, float, и т. д., которые не являются объектами
b.) Java поддерживает статические переменные и методы, и к ним можно получить доступ без создания объекта

Объяснение. Объектно-ориентированный язык означает, что все, что мы делаем, должно быть связано только с объектом, например, вызов функции, доступ к переменной или выполнение любой задачи должны выполняться только с помощью объекта. Но Java поддерживает:

a.) примитивные типы данных, такие как int, и для использования int и выполнения любых вычислений с использованием int нам не нужно создавать объект, поскольку мы просто пишем int val= 5 и печать(значение). Здесь переменная val не является объектом. Кроме того, мы можем выполнять некоторые вычисления, используя эти примитивные типы данных, такие как сложение, без создания какого-либо объекта. Итак, все не является объектом в Java.

b.) Также в java есть статические переменные и методы, и к ним можно получить доступ без создания объекта. Доступ к статическим переменным и методам можно получить напрямую, используя имена классов.

2.) В чем разница между методом .equals() и оператором ==?

Ответ: Пожалуйста, обратитесь к моей статье.

Ответы на вопросы с 3 по 8 даны здесь с подробным пояснением.

3.) Объясните значение каждого слова в public static void main?

4.) Будет ли программа работать, если я напишу static public void main вместо public static void main?

5.) Почему метод main является статическим в Java?

6.) Что произойдет, если метод main не объявлен как статический?

7.) Что делать, если основной метод объявлен как закрытый?

8.) Что, если я напишу String a[] вместо String args[] в аргументе основного метода?

9.) Можем ли мы перегружать или переопределять статические методы в java? Что произойдет, если мы попытаемся переопределить статический метод?

Ответ: не путайте перегрузку и переопределение. Прежде чем я отвечу, посмотрите на определение перегрузки и переопределения, чтобы избежать путаницы.

Перегрузка. Когда класс имеет несколько методов с одинаковыми именами и разным количеством аргументов или аргументов с разными типами данных, это называется перегрузкой метода.

Переопределение: когда подкласс или дочерний класс предоставляет конкретную реализацию метода, присутствующего в родительском классе, это называется переопределением метода.

Да, мы можем перегружать статические методы, но мы не можем не переопределять статические методы. Что произойдет, если мы попытаемся переопределить статический метод?

Большинство людей отвечают, что это вызовет ошибку компиляции или ошибку времени выполнения. Но никаких ошибок не выдает. Программа будет выполнена успешно. Просто переопределяющий статический метод не переопределяет метод. См. ниже код со статическим методом. Если он переопределяет, то он должен напечатать Дочерний, но здесь он напечатает Родительский, потому что метод print() не переопределяется из-за статического ключевого слова. Вы можете запустить и проверить это на ide. Вы также можете удалить ключевое слово static из родительских и дочерних методов и посмотреть результат. Он напечатает Child, так как теперь метод переопределяется.

import java.util.*;
import java.lang.*;
import java.io.*;
class Parent {
    static void print()
    {
        System.out.println("Parent");
    }
}
class Child extends Parent {
    
    static void print()
    {
        System.out.println("Child");
    }
}
class Codechef
{
 public static void main (String[] args) throws java.lang.Exception
 {
   Parent obj = new Child();
   obj.print();
 }
}

Ответы на вопросы с 10 по 15 даны здесь с подробным пояснением.

10.)В чем разница между StringBuffer и StringBuilder?

11.) Что следует предпочесть, когда в данные необходимо внести много обновлений? Строка или StringBuffer.

12.) Почему строки неизменяемы в Java?

13.) Являются ли String потокобезопасными в Java?

14.) Сколько объектов будет создано для следующего кода?

String str1 = "Ashay"
String str2 = new String("Ashay")

15.) Сколько объектов будет создано для следующего кода?

String str1 = "abc"
String str2 = "abc"

Вот и все… Надеюсь, вам понравилась эта статья.

Не стесняйтесь задавать свои сомнения в комментариях. Хотите поблагодарить меня? Купи мне кофе.

Пожалуйста, аплодируйте, подпишитесьи поделитесь с друзьями, если найдете это полезно или если это добавляет ценность для вас.

Свяжитесь со мной на LinkedIn, если вам нужны советы по кодированию, подготовке к собеседованию и советы по собеседованию. Ознакомьтесь с другими моими статьями, ориентированными на интервью, здесь.

См. Часть 2.

Спасибо!!!