100 + Java Питання та відповіді на інтерв'ю (2025)

Ось Java питання та відповіді на співбесіді для нових і досвідчених кандидатів, щоб отримати роботу своєї мрії.

 

Java Запитання та відповіді на співбесіді з програмування для новачків

1) Яка різниця між внутрішнім класом і підкласом?

Внутрішній клас – це клас, вкладений в інший клас. Внутрішній клас має права доступу до класу, який його вкладає, і він може отримати доступ до всіх змінних і методів, визначених у зовнішньому класі.

Підклас — це клас, який успадковує інший клас, який називається суперкласом. Підклас може отримати доступ до всіх відкритих і захищених методів і полів свого суперкласу.

👉 Безкоштовне завантаження PDF: Java Інтерв'ю Інтерв'ю Запитання та відповіді >>


2) Для чого потрібні різні специфікатори доступу Java класи?

In Java, специфікатори доступу – це ключові слова, які використовуються перед іменем класу, який визначає область доступу. Типи специфікаторів доступу для класів:

1) Громадський: Class, Method, Field доступні з будь-якого місця.

2) Захищений: Method,Field можна отримати з того самого класу, до якого вони належать, або з підкласів, а також з класу того самого пакета, але не ззовні.

3) За замовчуванням: Доступ до методу, поля, класу можна отримати лише з того самого пакета, а не поза межами його рідного пакета.

4) Приватний: Метод, поле можна отримати з того самого класу, до якого вони належать.


3) Яке призначення статичних методів і статичних змінних?

Якщо є вимога спільного використання методу або змінної між кількома об’єктами класу замість створення окремих копій для кожного об’єкта, ми використовуємо ключове слово static, щоб зробити метод або змінну спільним для всіх об’єктів.


4) Що таке інкапсуляція даних і яке її значення?

Інкапсуляція — це концепція в об’єктно-орієнтованому програмуванні для об’єднання властивостей і методів в одному блоці.

Інкапсуляція допомагає програмістам дотримуватися модульного підходу до розробки програмного забезпечення, оскільки кожен об’єкт має власний набір методів і змінних і виконує свої функції незалежно від інших об’єктів. Інкапсуляція також служить для приховування даних.


5) Що таке одиночний клас? Наведіть практичний приклад його використання.

Одиночний клас у Java може мати лише один екземпляр, і, отже, усі його методи та змінні належать лише одному екземпляру. Концепція класу Singleton корисна в ситуаціях, коли потрібно обмежити кількість об’єктів для класу.

Найкращим прикладом сценарію використання одного елемента є те, що існує обмеження на наявність лише одного з’єднання з базою даних через деякі обмеження драйвера або будь-які проблеми з ліцензуванням.


6) Що таке цикли Java? Які три типи петель?

Цикл використовується в програмуванні для багаторазового виконання оператора або блоку оператора. Є три види петель в Java:

1) Для циклів

Цикли for використовуються в java для повторного виконання операторів задану кількість разів. Цикли for використовуються, коли програмісту відомо, скільки разів потрібно виконати оператори.

2) Цикли while

Цикл while використовується, коли певні оператори потрібно виконувати багаторазово, доки не буде виконана умова. У циклах while перед виконанням операторів спочатку перевіряється умова.

3) Виконайте цикли While

Цикл Do While Loop — це те саме, що цикл While, з тією лише різницею, що умова перевіряється після виконання блоку операторів. Отже, у випадку циклу do while оператори виконуються принаймні один раз.


7) Що таке нескінченний цикл? Як оголошується нескінченний цикл?

Нескінченний цикл виконується без будь-яких умов і нескінченно. Нескінченний цикл можна розірвати, визначивши будь-яку логіку порушення в тілі блоків операторів.

Нескінченний цикл оголошується наступним чином:

for (;;)
{
    // Statements to execute

    // Add any loop breaking logic
}

8) Яка різниця між оператором continue і break?

break і continue є двома важливими ключовими словами, які використовуються в циклах. Коли ключове слово break використовується в циклі, цикл миттєво розривається, а коли використовується ключове слово continue, поточна ітерація розривається, і цикл продовжується з наступною ітерацією.

У наведеному нижче прикладі цикл переривається, коли лічильник досягає 4.

for (counter = 0; counter & lt; 10; counter++)
    system.out.println(counter);

if (counter == 4) {

    break;
}

}

У прикладі нижче, коли лічильник досягає 4, цикл переходить до наступної ітерації, а будь-які оператори після ключового слова continue пропускаються для поточної ітерації.

for (counter = 0; counter < 10; counter++)
    system.out.println(counter);

if (counter == 4) {

    continue;
}
system.out.println("This will not get printed when counter is 4");
}

9) Яка різниця між змінними double і float у Java?

У java float займає 4 байти в пам’яті Double займає 8 байт у пам'яті. Float — це десяткове число з плаваючою комою одинарної точності Double це десяткове число подвійної точності.


10) Що таке кінцеве ключове слово Java? Наведіть приклад.

У java константа оголошується за допомогою ключового слова Final. Значення можна присвоїти лише один раз, і після присвоєння значення константи не можна змінити.

У наведеному нижче прикладі оголошено константу з іменем const_val і їй присвоєно значення:

Приватний фінал int const_val=100

Коли метод оголошено як final, він НЕ може бути замінений підкласами. Цей метод є швидшим, ніж будь-який інший, оскільки вони вирішуються в установлений час.

Коли клас оголошено як остаточний, він не може бути підкласом. Приклади String, Integer та інші класи-огортки.


11) Що таке тернарний оператор? Наведіть приклад.

Потрійний оператор, також званий умовним оператором, використовується, щоб вирішити, яке значення присвоїти змінній на основі оцінки булевого значення. Це позначається як ?

У наведеному нижче прикладі, якщо ранг дорівнює 1, статусу присвоюється значення «Готово», інакше «Очікує».

public class conditionTest {
    public static void main(String args[]) {
        String status;
        int rank = 3;
        status = (rank == 1) ? "Done" : "Pending";
        System.out.println(status);
    }
}

12) Як ви можете генерувати випадкові числа в Java?

  • За допомогою Math.random() ви можете генерувати випадкові числа в діапазоні більше або дорівнює 0.1 і менше 1.0
  • Використання класу Random у пакеті java.util

13) Що таке перемикач за замовчуванням? Наведіть приклад.

В заява перемикача, випадок за замовчуванням виконується, якщо жодна інша умова перемикання не відповідає. Регістр за замовчуванням є необов’язковим. Його можна оголошувати лише після того, як усі інші регістри перемикачів закодовані.

У наведеному нижче прикладі, коли оцінка не дорівнює 1 або 2, використовується регістр за замовчуванням.

public class SwitchExample {
    public static void main(String args[]) {
        int score = 4; // Declare the score variable inside the main method
        switch (score) {
            case 1:
                System.out.println("Score is 1");
                break;
            case 2:
                System.out.println("Score is 2");
                break;
            default:
                System.out.println("Default Case");
        }
    }
}

14) Що таке базовий клас Java з якого походять усі класи?

java.lang.object


15) Чи можна використовувати метод main(). Java чи можна повернути якісь дані?

У java метод main() не може повертати жодних даних, тому він завжди оголошується з типом повернення void.


16) Які є Java Пакети? Яке значення мають пакети?

In Java, пакет — це набір класів та інтерфейсів, які об’єднані разом, оскільки вони пов’язані один з одним. Використання пакетів допомагає розробникам модульувати код і групувати код для належного повторного використання. Після упаковки коду в пакети його можна імпортувати в інші класи та використовувати.


17) Чи можемо ми оголосити клас як абстрактний, не маючи жодного абстрактного методу?

Так, ми можемо створити абстрактний клас, використовуючи ключове слово abstract перед назвою класу, навіть якщо він не має жодного абстрактного методу. Однак, якщо клас має хоча б один абстрактний метод, він повинен бути оголошений як абстрактний, інакше він видасть помилку.


18) Яка різниця між абстрактним класом та інтерфейсом у Java?

Основна відмінність між абстрактним класом та інтерфейсом полягає в тому, що інтерфейс може містити лише оголошення загальнодоступних статичних методів без конкретної реалізації, тоді як абстрактний клас може мати членів із будь-якими специфікаторами доступу (загальнодоступними, приватними тощо) з конкретною реалізацією або без неї.

Інша ключова відмінність у використанні абстрактних класів та інтерфейсів полягає в тому, що клас, який реалізує інтерфейс, повинен реалізовувати всі методи інтерфейсу, тоді як клас, який успадковує абстрактний клас, не вимагає реалізації всіх методів свого суперкласу.

Клас може реалізувати кілька інтерфейсів, але він може розширювати лише один абстрактний клас.


19) Який вплив інтерфейсів на продуктивність абстрактних класів?

Інтерфейси працюють повільніше порівняно з абстрактними класами, оскільки для інтерфейсів потрібні додаткові непрямі напрямки. Іншим ключовим фактором, який розробники повинні взяти до уваги, є те, що будь-який клас може розширити лише один абстрактний клас, тоді як клас може реалізувати багато інтерфейсів.

Використання інтерфейсів також створює додаткове навантаження на розробників, оскільки кожен раз, коли інтерфейс реалізується в класі; Розробник змушений реалізувати кожен метод інтерфейсу.


20) Чи Імпорт пакета також імпортує його підпакети Java?

У java, коли пакет імпортується, його підпакети не імпортуються, і розробнику потрібно імпортувати їх окремо, якщо потрібно.

Наприклад, якщо розробник імпортує пакет university.*, завантажуються всі класи в пакеті під назвою university, але не завантажуються класи з підпакета. Щоб завантажити класи зі свого підпакета (скажімо, відділу), розробник має імпортувати його явно таким чином:

Імпорт університету.департамент.*


21) Чи можемо ми оголосити основний метод нашого класу приватним?

У java основний метод має бути публічним статичним, щоб будь-яка програма запускалася правильно. Якщо основний метод оголошено як приватний, розробник не отримає жодної помилки компіляції, проте він не буде виконано та видасть помилку виконання.


22) Як ми можемо передати аргумент функції за посиланням замість передачі за значенням?

У java ми можемо передати аргумент функції лише за значенням, а не за посиланням.


23) Як серіалізується об’єкт у java?

У java, щоб перетворити об’єкт у потік байтів шляхом серіалізації, клас реалізує інтерфейс із назвою Serializable. Усі об’єкти класу, що реалізують серіалізований інтерфейс, серіалізуються, а їхній стан зберігається в потоці байтів.


24) Коли ми повинні використовувати серіалізацію?

Серіалізація використовується, коли дані потрібно передати по мережі. За допомогою серіалізації стан об’єкта зберігається та перетворюється на потік байтів. Потік байтів передається через мережу, а об’єкт створюється повторно в місці призначення.


25) Чи обов’язково після блоку Try слідувати блок Catch Java для обробки винятків?

За блоком Try має слідувати або блок Catch, або блок Finally, або обидва. Будь-який виняток, викинутий із блоку try, потрібно або перехопити в блок catch, або будь-які конкретні завдання, які потрібно виконати перед перериванням коду, помістити в блок Finally.


Java Запитання та відповіді на співбесіді для досвідчених

26) Чи є спосіб пропустити блок виключення Finally, навіть якщо в блоці виключення трапляється якийсь виняток?

Якщо в блоці Try виникає виняток, керування переходить до блоку catch, якщо він існує, інакше для остаточного блокування. Блок Finally завжди виконується, коли виникає виняток, і єдиний спосіб уникнути виконання будь-яких операторів у блоці Finally — це примусове переривання коду, написавши наступний рядок коду в кінці блоку try:

System.exit(0);

27) Коли викликається конструктор класу?

Конструктор класу викликається щоразу, коли створюється об’єкт із ключовим словом new.

Наприклад, у наступному класі два об’єкти створюються за допомогою ключового слова new і, отже, конструктор викликається двічі.

public class const_example {

    const_example() {

        system.out.println("Inside constructor");
    }
    public static void main(String args[]) {

        const_example c1 = new const_example();

        const_example c2 = new const_example();
    }
}

28) Чи може клас мати декілька конструкторів?

Так, клас може мати кілька конструкторів з різними параметрами. Який конструктор використовуватиметься для створення об’єктів, залежить від аргументів, переданих під час створення об’єктів.


29) Чи можемо ми перевизначити статичні методи класу?

Ми не можемо перевизначати статичні методи. Статичні методи належать класу, а не окремим об’єктам, і вирішуються під час компіляції (а не під час виконання). Навіть якщо ми спробуємо перевизначити статичний метод, ми не отримаємо помилки комплітаціі чи впливу перевизначення під час виконання код.


30) Що буде результатом у прикладі нижче?

public class superclass {

    public void displayResult() {

        system.out.println("Printing from superclass");

    }

}

public class subclass extends superclass {

    public void displayResult() {

        system.out.println("Displaying from subClass");

        super.displayResult();

    }

    public static void main(String args[]) {

        subclass obj = new subclass();

        obj.displayResult();

    }

}

років: Вихід буде:

Відображення з підкласу

Друк з суперкласу


31) Чи є String типом даних у java?

Рядок не є примітивним типом даних у java. Коли рядок створюється в java, він фактично є об’єктом JavaКлас .Lang.String, який створюється. Після створення цього рядкового об’єкта всі вбудовані методи класу String можна використовувати для цього рядкового об’єкта.


32) У наведеному нижче прикладі скільки рядкових об’єктів створено?

String s1="I am Java Expert";

String s2="I am C Expert";

String s3="I am Java Expert";

У наведеному вище прикладі два об’єкти JavaСтворено клас .Lang.String. s1 і s3 є посиланнями на той самий об’єкт.


33) Навіщо струни Java називаються незмінними?

У java рядкові об’єкти називаються незмінними, оскільки коли рядку присвоєно значення, його не можна змінити, а якщо змінити, створюється новий об’єкт.

У наведеному нижче прикладі посилання str посилається на рядковий об’єкт зі значенням «Value one».

String str="Value One";

Коли йому присвоюється нове значення, створюється новий об’єкт String і посилання переміщується до нового об’єкта.

str="New Value";

34) Яка різниця між масивом і вектором?

Масив групує дані одного примітивного типу та є статичним за своєю природою, тоді як вектори мають динамічний характер і можуть містити дані різних типів даних.


35) Що таке багатопотоковість?

Багатопотоковість — це концепція програмування для одночасного виконання кількох завдань в одній програмі. Потоки використовують той самий стек процесів і працюють паралельно. Це допомагає підвищити продуктивність будь-якої програми.


36) Чому Runnable Interface використовується в Java?

Runnable інтерфейс використовується в Java для реалізації багатопотокових програм. JavaІнтерфейс .Lang.Runnable реалізований класом для підтримки багатопоточності.


37) Назвіть два способи реалізації багатопоточності в Java?

Можна розробляти багатопотокові програми Java за допомогою будь-якої з наступних двох методологій:

1) За допомогою Java.Lang.Runnable Інтерфейс. Класи реалізують цей інтерфейс, щоб увімкнути багатопотоковість. У цьому інтерфейсі реалізовано метод Run().

2) Написавши клас, який розширюється JavaКлас .Lang.Thread.


38) Якщо потрібно внести багато змін у дані, яким із них слід віддати перевагу? Рядок або РядокBuffer?

Оскільки рядокBuffers є динамічними за своєю природою, і ми можемо змінювати значення StringBuffer на відміну від String, який є незмінним, завжди добре використовувати StringBuffer коли дані змінюються занадто сильно. Якщо ми використовуємо String у такому випадку, для кожної зміни даних буде створено новий об’єкт String, що призведе до додаткових витрат.


39) Яка мета використання Break у кожному випадку оператора Switch?

Перерва використовується після кожного регістру (крім останнього) у перемикачі, щоб код розривався після дійсного регістру і не запускався також у поточних регістрах.

Якщо break не використовується після кожного випадку, усі випадки після дійсного випадку також виконуються, що призводить до неправильних результатів.


40) Як відбувається збір сміття в Java?

У java, коли на об’єкт більше не посилаються, garbage collection відбувається, і об’єкт автоматично знищується. Для автоматичного збирання сміття Java викликає метод System.gc() або метод Runtime.gc().


41) Як ми можемо виконати будь-який код навіть перед основним методом?

Якщо ми хочемо виконати будь-які оператори ще до створення об’єктів під час завантаження класу, ми можемо використовувати статичний блок коду в класі. Будь-які оператори всередині цього статичного блоку коду виконуватимуться один раз під час завантаження класу навіть до створення об’єктів у основному методі.


42) Чи може клас бути суперкласом і підкласом одночасно? Наведіть приклад.

Якщо використовується ієрархія успадкування, клас може бути суперкласом для іншого класу та підкласом для іншого одночасно.

У наведеному нижче прикладі клас континенту є підкласом світового класу, а це суперклас класу країни.

public class world {

..........

}
public class continenet extends world {

............

}
public class country extends continent {

......................

}

43) Як створюються об’єкти класу, якщо в класі не визначено конструктора?

Навіть якщо в класі Java не визначено явного конструктора, об’єкти створюються успішно, оскільки для створення об’єктів неявно використовується конструктор за замовчуванням. Цей конструктор не має параметрів.


44) Як ми можемо гарантувати, що ресурс не використовується декількома потоками одночасно в багатопоточності?

У багатопотоковому режимі доступ до ресурсів, які спільно використовуються між кількома потоками, можна контролювати за допомогою концепції синхронізації. Використання синхронізоване ключове слово, ми можемо гарантувати, що тільки один потік може використовувати спільний ресурс одночасно, а інші можуть отримати контроль над ресурсом лише після того, як він звільниться від іншого, який його використовує.


45) Чи можемо ми викликати конструктор класу кілька разів для об’єкта?

Конструктор викликається автоматично, коли ми створюємо об’єкт за допомогою ключового слова new. Він викликається лише один раз для об’єкта під час створення об’єкта, тому ми не можемо повторно викликати конструктор для об’єкта після його створення.


46) Є два класи з назвами classA і classB. Обидва класи знаходяться в одному пакеті. Чи може об’єкт класу B отримати доступ до приватного члена класу A?

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


47) Чи можемо ми мати два методи в класі з однаковою назвою?

Ми можемо визначити два методи в класі з однаковою назвою, але з різною кількістю/типом параметрів. Який метод буде викликано, залежатиме від переданих параметрів.

Наприклад, у наведеному нижче класі ми маємо два методи друку з однаковими назвами, але різними параметрами. Залежно від параметрів відповідний буде називатися:

public class methodExample {

    public void print() {

        system.out.println("Print method without parameters.");

    }

    public void print(String name) {

        system.out.println("Print method with parameter");

    }

    public static void main(String args[]) {

        methodExample obj1 = new methodExample();

        obj1.print();

        obj1.print("xx");

    }

}

48) Як ми можемо створити копію об'єкта Java?

Ми можемо використовувати концепцію клонування для створення копії об’єкта. За допомогою клонування ми створюємо копії з фактичним станом об’єкта.

Clone() — це метод інтерфейсу Cloneable, отже, інтерфейс Cloneable потрібно реалізувати для створення копій об’єктів.


49) Яка користь від використання успадкування?

Ключовою перевагою використання спадкування є можливість повторного використання коду, оскільки спадкування дозволяє підкласам повторно використовувати код свого суперкласу. Поліморфізм (розширюваність) є ще однією великою перевагою, яка дозволяє вводити нову функціональність без впливу на існуючі похідні класи.


50) Який специфікатор доступу за замовчуванням для змінних і методів класу?

Специфікатор доступу за умовчанням для змінних і методів захищений пакетом, тобто змінні та клас доступні для будь-якого іншого класу, але в тому самому пакеті, а не поза пакетом.


51) Наведіть приклад використання покажчиків в Java клас.

Вказівників немає Java. Тому ми не можемо використовувати концепцію покажчиків у Java.


52) Як ми можемо обмежити успадкування для класу, щоб жоден клас не міг бути успадкований від нього?

Якщо ми хочемо, щоб клас не розширювався жодним класом, ми можемо використати ключове слово Остаточний з назвою класу.

У наступному прикладі клас Stone є Final і не може бути розширений

public Final Class Stone {
	// Class methods and Variables
}

53) Яка область доступу специфікатора захищеного доступу?

Коли метод або змінну оголошено за допомогою специфікатора доступу Protected, вони стають доступними в тому самому класі, будь-якому іншому класі того самого пакета, а також у підкласі.

Модифікатор Клас пакет Підклас World
громадськість Y Y Y Y
захищений Y Y Y N
немає модифікатора Y Y N N
приватний Y N N N

54) Яка різниця між стеком і чергою?

І стек, і черга використовуються як заповнювачі для колекції даних. Основна відмінність між стеком і чергою полягає в тому, що стек базується на принципі «Останній прийшов, перший вийшов» (LIFO), а черга — на принципі FIFO («Першим прийшов, першим вийшов»).


55) Як у java ми можемо заборонити серіалізацію змінних?

Якщо ми хочемо, щоб певні змінні класу не були серіалізовані, ми можемо використати ключове слово минущий при їх декларуванні. Наприклад, наведена нижче змінна trans_var є тимчасовою змінною і не може бути серіалізована:

public class transientExample { 
	private transient trans_var; 
    // rest of the code 
}

56) Як ми можемо використовувати примітивні типи даних як об'єкти?

Примітивні типи даних, такі як int, можна обробляти як об’єкти за допомогою відповідних класів-огорток. Наприклад, Integer є класом-огорткою для примітивного типу даних int. Ми можемо застосовувати різні методи до класу-оболонки, як і до будь-якого іншого об’єкта.


57) Які типи винятків перехоплюються під час компіляції?

Перевірені винятки можна перехопити під час компіляції програми. Перевірені винятки потрібно обробляти за допомогою блоку try catch у коді, щоб успішно скомпілювати код.


58) Опишіть різні стани потоку.

Нитка в Java може перебувати в одному з наступних станів:

  • Готовий: коли потік створюється, він знаходиться в стані Готовий.
  • Виконується: потік, який зараз виконується, знаходиться у стані виконання.
  • Очікування: потік, який очікує, поки інший потік звільнить певні ресурси, знаходиться в стані очікування.
  • Dead: Потік, який припинив роботу після виконання, знаходиться в мертвому стані.

59) Чи можемо ми використовувати конструктор класу за замовчуванням, навіть якщо визначено явний конструктор?

Java надає типовий конструктор без аргументів, якщо в a не визначено явного конструктора Java клас. Але якщо було визначено явний конструктор, конструктор за замовчуванням не можна викликати, і розробник може використовувати лише ті конструктори, які визначені в класі.


60) Чи можемо ми перевизначити метод, використовуючи однакове ім’я методу та аргументи, але різні типи повернення?

Основна умова перевизначення методу полягає в тому, що ім’я методу, аргументи, а також тип повернення мають бути точно такими ж, як і в перевизначеного методу. Отже, використання іншого типу повернення не замінює метод.


61) Що буде результатом наступного фрагмента коду?

public class operatorExample {

    public static void main(String args[]) {

        int x = 4;

        system.out.println(x++);
	}
}

У цьому випадку використовується постфіксний оператор ++, який спочатку повертає значення, а потім збільшує значення. Отже, його вихід буде 4.


61) Людина каже, що вона успішно скомпілювала клас Java, навіть не маючи в ньому основного методу? Це можливо?

основний метод є точкою входу Java клас і, однак, необхідний для виконання програми; клас успішно компілюється, навіть якщо він не має основного методу. Однак його не можна запустити.


62) Чи можемо ми викликати нестатичний метод ізсередини статичним методом?

Нестатичні методи належать об’єктам класу та мають область дії на рівні об’єктів, і для того, щоб викликати нестатичні методи зі статичного блоку (як зі статичного основного методу), спочатку потрібно створити об’єкт класу. Потім за допомогою посилання на об’єкт можна викликати ці методи.


63) Які дві змінні середовища необхідно встановити, щоб запустити будь-яку Java програми?

Java Програми можуть бути виконані на машині лише після правильного встановлення наступних двох змінних середовища:

  1. Змінна PATH
  2. Змінна CLASSPATH

64) Чи можна використовувати змінні в Java без ініціалізації?

In Java, якщо змінна використовується в коді без попередньої ініціалізації дійсним значенням, програма не компілюється та видає помилку, оскільки значення за замовчуванням не присвоюється змінним у Java.


65) Чи може клас в Java бути успадкованими від кількох класів?

In Java, клас може бути похідним лише від одного класу, а не від кількох класів. Множинне успадкування не підтримується Java.


66) Чи може конструктор мати назву, відмінну від назви класу в Java?

Конструктор в Java має мати таке саме ім’я, як ім’я класу, і якщо ім’я інше, він не діє як конструктор, і компілятор сприймає його як звичайний метод.


67) Що буде результатом Round(3.7) і Ceil(3.7)?

Round(3.7) повертає 4, а Ceil(3.7) повертає 4.


68) Чи можемо ми використати goto in Java перейти до певного рядка?

In Java, немає ключового слова goto, і java не підтримує цю функцію переходу до певного позначеного рядка.


69) Чи можна розпочати мертвий потік знову?

У java потік, який перебуває в мертвому стані, не може бути запущений знову. Немає способу перезапустити мертвий потік.


70) Чи правильне наступне оголошення класу?

public abstract final class testClass {
	// Class methods and variables
}

Відповідь: наведене вище оголошення класу є неправильним, оскільки абстрактний клас не можна оголосити як Final.


71) Чи потрібен JDK на кожній машині для запуску a Java програми?

JDK — це набір для розробки Java і потрібен лише для розробки та запуску a Java програму на машині, JDK не потрібен. Потрібен лише JRE.


72) Яка різниця між порівнянням, виконаним методом дорівнює, і оператором ==?

In Java, метод equals() використовується для порівняння вмісту двох рядкових об’єктів і повертає істину, якщо вони мають однакові значення, тоді як оператор == порівнює посилання двох рядкових об’єктів.

У наступному прикладі equals() повертає true, оскільки два рядкові об’єкти мають однакові значення. Однак оператор == повертає false, оскільки обидва рядкові об’єкти посилаються на різні об’єкти:

public class equalsTest {

    public static void main(String args[]) {

        String str1 = new String("Hello World");

        String str2 = new String("Hello World");

        if (str1.equals(str2))

        { // this condition is true

            System.out.println("str1 and str2 are equal in terms of values");

        }

        if (str1 == str2) {

            //This condition is true

            System.out.println("Both strings are referencing same object");

        } else

        {

            // This condition is NOT true

            System.out.println("Both strings are referencing different objects");

        }

    }

}

73) Чи можна визначити метод в Java класу, але забезпечити його реалізацію в коді іншої мови, наприклад C?

Так, ми можемо зробити це за допомогою рідних методів. У разі розробки на основі нативного методу ми визначаємо загальнодоступні статичні методи в нашому Java клас без його реалізації, а потім реалізація виконується іншою мовою, як-от C, окремо.


74) Як визначаються деструктори в Java?

In Java, у класі немає деструкторів, оскільки в цьому немає потреби. Java має власний механізм збирання сміття, який виконує роботу автоматично, знищуючи об’єкти, коли на них більше не посилаються.


Java Запитання та відповіді на співбесіді для 5+ років досвіду

75) Чи може змінна бути локальною і статичною одночасно?

Ні, змінна не може бути статичною та локальною водночас. Визначення локальної змінної як статичної призводить до помилки компіляції.


76) Чи можемо ми мати статичні методи в інтерфейсі?

Статичні методи не можуть бути перевизначені в жодному класі, тоді як будь-які методи в інтерфейсі за замовчуванням є абстрактними та мають бути реалізовані в класах, які реалізують інтерфейс. Тому немає сенсу мати статичні методи в інтерфейсі Java.


77) У класі, що реалізує інтерфейс, чи можемо ми змінити значення будь-якої змінної, визначеної в інтерфейсі?

Ні, ми не можемо змінити значення будь-якої змінної інтерфейсу в класі реалізації, оскільки всі змінні, визначені в інтерфейсі, за замовчуванням є загальнодоступними, статичними, а остаточні та кінцеві змінні є константами, які не можна змінити пізніше.


78) Чи правильно сказати, що через функцію збору сміття в Java, програмі Java ніколи не вистачає пам’яті?

Незважаючи на те, що автоматичний збір сміття забезпечується Java, це не гарантує, що a Java програма не вийде з пам’яті, оскільки існує ймовірність створення Java об’єктів виконується швидше, ніж збирання сміття, що призводить до заповнення всіх доступних ресурсів пам’яті.

Отже, збирання сміття допомагає зменшити ймовірність того, що програмі бракує пам’яті, але не гарантує цього.


79) Чи можемо ми мати інший тип повернення, крім void для основного методу?

Ні, Java Основний метод класу може мати лише тип повернення void, щоб програма була успішно виконана.

Тим не менш, якщо вам абсолютно необхідно повернути значення після завершення основного методу, ви можете використати System.exit(int status)


80) Я хочу повторно отримати та використати об’єкт після того, як його буде зібрано. Як це можливо?

Після того, як об’єкт було знищено збирачем сміття, він більше не існує в купі, і до нього неможливо знову отримати доступ. Немає можливості посилатися на це знову.


81) В Java програмування потоків, який метод є обов’язковим для всіх потоків?

Run() — це метод інтерфейсу Runnable, який має бути реалізований усіма потоками.


82) Я хочу контролювати з’єднання з базою даних у моїй програмі та хочу, щоб лише один потік міг одночасно встановлювати з’єднання з базою даних. Як я можу реалізувати цю логіку?

Відповідь: це можна реалізувати за допомогою концепції синхронізації. Код, пов'язаний з базою даних, можна розмістити в методі, який hs синхронізовані ключове слово, щоб одночасно мати до нього доступ лише один потік.


83) Яким чином програміст може створити виняток вручну?

Щоб створити виняток у блоці коду вручну, кидати використовується ключове слово. Потім цей виняток перехоплюється та обробляється в блоці catch.

public void topMethod() {
    try {
        excMethod();
    } catch (ManualException e) {}
}

public void excMethod {
    String name = null;
    if (name == null) {
        throw (new ManualException("Exception thrown manually ");
        }
    }

84) Я хочу, щоб мій клас був розроблений таким чином, щоб жоден інший клас (навіть похідний) не міг створювати свої об’єкти. Як я можу це зробити?

Якщо ми оголосимо конструктор класу приватним, він не буде доступний жодному іншому класу, і, отже, жоден інший клас не зможе створити його екземпляр, а формування його об’єкта буде обмежено лише ним самим.


85) Як об'єкти зберігаються в Java?

У java кожен об’єкт після створення отримує простір пам’яті з купи. Коли об’єкт знищується збирачем сміття, простір, виділений для нього з купи, знову розподіляється в купі та стає доступним для будь-яких нових об’єктів.


86) Як ми можемо знайти фактичний розмір об'єкта в купі?

У java немає способу дізнатися точний розмір об'єкта в купі.


87) Для якого з наступних класів буде виділено більше пам’яті?

Клас A: три методи, чотири змінні, без об’єкта

Клас B: п’ять методів, три змінні, жодного об’єкта

Перед створенням об'єктів пам'ять не виділяється. Оскільки для обох класів немає створених об’єктів, тому пам’ять не виділяється в купі для жодного класу.


88) Що станеться, якщо виняток не обробляється в програмі?

Якщо виняток не обробляється в програмі за допомогою блоків try catch, програма переривається, і жоден оператор не виконується після оператора, який викликав викид винятку.


89) У мене в класі визначено декілька конструкторів. Чи можна викликати конструктор з тіла іншого конструктора?

Якщо клас має декілька конструкторів, можна викликати один конструктор із тіла іншого за допомогою це ().


90) Що означає анонімний клас?

Анонімний клас — це клас, визначений без назви в одному рядку коду за допомогою ключового слова new.

Наприклад, у коді нижче ми визначили анонімний клас в одному рядку коду:

public java.util.Enumeration testMethod()

{

    return new java.util.Enumeration()

    {

        @Override

        public boolean hasMoreElements()

        {

            // TODO Auto-generated method stub

            return false;

        }

        @Override

        public Object nextElement()

        {

            // TODO Auto-generated method stub

            return null;

        }

    }

91) Чи є спосіб збільшити розмір масиву після його оголошення?

Масиви є статичними, і коли ми вказали його розмір, ми не можемо його змінити. Якщо ми хочемо використовувати такі колекції, де нам може знадобитися зміна розміру (без елементів), ми повинні віддати перевагу вектору над масивом.


92) Якщо програма містить декілька класів, чи можна мати основний метод у кількох класах?

Якщо в додатку Java існує основний метод у кількох класах, це не спричинить жодних проблем, оскільки точкою входу для будь-якої програми буде певний клас, а код починатиметься з основного методу лише цього конкретного класу.


93) Я хочу зберегти дані об’єктів для подальшого використання. Який найкращий підхід для цього?

Найкращий спосіб зберегти дані для майбутнього використання — використовувати концепцію серіалізації.


94) Що таке локальний клас Java?

In Java, якщо ми визначаємо новий клас всередині певного блоку, він називається локальним класом. Такий клас має локальну область і не може використовуватися поза межами блоку, де він визначений.


95) Рядок і рядокBuffer обидва представляють об'єкти String. Чи можна порівняти String і StringBuffer in Java?

Хоча Рядок і РядокBuffer обидва представляють об’єкти String, ми не можемо порівняти їх один з одним, і якщо ми спробуємо їх порівняти, ми отримаємо помилку.


96) Який API надається Java для операцій над набором об’єктів?

Java надає API колекції, який надає багато корисних методів, які можна застосувати до набору об’єктів. Деякі з важливих класів, наданих Collection API, включають ArrayList, HashMap, TreeSet і TreeMap.


97) Чи можемо ми привести будь-який інший тип до логічного типу за допомогою приведення типів?

Ні, ми не можемо ані привести будь-який інший примітивний тип до логічного типу даних, ані не можемо привести булевий тип даних до будь-якого іншого примітивного типу даних.


98) Чи можемо ми використовувати різні типи повернення для методів при перевизначенні?

Основна вимога перевизначення методу в Java полягає в тому, що перевизначений метод повинен мати те саме ім’я та параметри. Але метод можна перевизначати за допомогою іншого типу повернення, якщо новий тип повернення розширює вихідний.

Наприклад, метод повертає посилальний тип.

Class B extends A {

    A method(int x) {

        //original method

    }

    B method(int x) {

        //overridden method

    }

}

99) Який базовий клас для всіх класів винятків?

In Java, Java.lang.Throwable є суперкласом усіх класів винятків, і всі класи винятків є похідними від цього базового класу.


100) Який порядок виклику конструкторів у спадкуванні?

У разі успадкування, коли створюється новий об’єкт похідного класу, спочатку викликається конструктор суперкласу, а потім викликається конструктор похідного класу.

Підготуйтеся до співбесіди!!! Переглядати Java Підручник бути краще підготовленим.

Це детально Java Пробна тестова вікторина допоможе вам розвіяти сумніви Java запитання для співбесіди, а також допоможе вам зламати співбесіду.

Ці Java та Java 8 питань для співбесіди також допоможе у вашій viva (оральний)

Щоденний інформаційний бюлетень Guru99

Розпочніть свій день з останніх та найважливіших новин про штучний інтелект, які ви можете знайти просто зараз.