class Student
{
    private String name;
    private int rollno;
}

public void someMethod()
{
    Student s = new Student[2];  // line 1
    // do something here
}

Apakah konstruktor dipanggil pada baris 1 saat membuat instance objek untuk array? Jika ya dan itu adalah default, katakanlah kita menulis konstruktor parametrized dari pihak kita. Karena, konstruktor default yang disediakan oleh JVM tidak ada lagi, apa yang dipanggil sekarang? Akan sangat membantu jika seseorang dapat menjelaskan langkah-langkah tepat yang terjadi saat pernyataan di baris 1 sedang dieksekusi. Terima kasih.

-3
Madhur Panwar 20 November 2020, 13:06

1 menjawab

Jawaban Terbaik

Apakah konstruktor dipanggil pada baris 1 saat membuat instance objek untuk array

Tidak. Konstruktor Siswa tidak dipanggil. Itu hanya mengalokasikan objek array tipe Student dengan ukuran 2. Semua elemen dalam array akan diinisialisasi ke null.

Anda harus membuat objek Student baru saat Anda menetapkan elemen array. Untuk itu Anda dapat memanggil konstruktor kelas Siswa.

s[0] = new Student();

Saat ini, kelas Siswa hanya memiliki konstruktor default.

2
user7 20 November 2020, 10:23