JavaRush /Java Blog /Random-ID /Rehat kopi #105. Mengapa String tidak dapat diubah di Jav...

Rehat kopi #105. Mengapa String tidak dapat diubah di Java? Antarmuka di Java dan pewarisan berganda

Dipublikasikan di grup Random-ID

Mengapa String tidak dapat diubah di Java?

Sumber: Dev.to Sebelum memahami mengapa String tidak dapat diubah di Java, kita perlu memikirkan mengapa kita membuat sesuatu yang tidak dapat diubah? Rehat kopi #105.  Mengapa String tidak dapat diubah di Java?  Antarmuka di Java dan pewarisan berganda - 1Immutable artinya sekali diciptakan kita tidak dapat mengubahnya. Satu-satunya alasan kami berpikir untuk membuat sesuatu yang tidak dapat diubah adalah untuk sinkronisasi saat digunakan bersama. Inilah alasan mengapa string tidak dapat diubah. Di Java, objek String dibagikan dan di-cache di String Pool. Ini adalah lokasi spesifik di heap tempat string disimpan dan dibagikan di antara beberapa thread jika memiliki nilai yang sama. Contoh: pada suatu string pool, jika sudah ada string dengan nilai “test” dan program ingin membuat objek string lain dengan nilai yang sama, maka program akan mendapatkan referensi yang sama alih-alih membuat objek string baru. Sekarang kita tahu bagaimana string disimpan di heap. Mari kita lihat mengapa mereka tidak berubah.
  1. Alasan pertama dari kekekalan adalah keamanan benang. Karena baris dibagi di antara beberapa thread di kumpulan baris, kita perlu membatasi thread acak mana pun untuk mengubahnya. Setiap perubahan pada suatu baris dapat mempengaruhi thread lain yang mengakses baris yang sama. Jika thread ingin memperbarui nilai suatu baris, maka thread tersebut perlu membuat baris lain dan mereferensikannya.

  2. Biasanya kami menggunakan String sebagai kunci di Map . Jika string dapat diubah, siapa pun dapat mengubah nilai string dan kita akan kehilangan kunci sebenarnya.

Antarmuka di Java dan pewarisan berganda

Sumber: Dev.to Mari kita pahami apa itu pewarisan berganda. Pewarisan berganda adalah suatu fitur dari beberapa bahasa pemrograman berorientasi objek dimana suatu objek atau kelas dapat mewarisi fungsionalitas dari lebih dari satu objek atau kelas induk. Rehat kopi #105.  Mengapa String tidak dapat diubah di Java?  Antarmuka di Java dan pewarisan berganda - 1Seperti yang ditunjukkan pada gambar di atas, kelas anak pewarisan berganda dapat memiliki dua atau lebih kelas dasar, tetapi untuk mencapai hal ini kita memerlukan antarmuka.

Antarmuka

Antarmuka di Java adalah cetak biru suatu kelas. Ia memiliki konstanta statis dan metode abstrak. Artinya, sebuah antarmuka hanya dapat berisi metode dan variabel abstrak, tidak dapat memiliki isi metode. Itu tidak dapat dibuat dengan cara yang sama seperti kelas abstrak.

Jadi di mana kita mendeklarasikan inti dari metode ini?

Badan metode dideklarasikan di dalam kelas di mana metode tersebut diperlukan sesuai dengan kebutuhan pemrogram.

Bagaimana cara mendeklarasikan antarmuka?

Sebuah antarmuka dapat dideklarasikan menggunakan kata kunci antarmuka . Sintaksis:
interface interface_name {abstract methods}

Catatan

Untuk menggunakan antarmuka yang dideklarasikan dalam suatu kelas, kita harus menggunakan kata kunci implementasi .

Penerapan?

Pertama kita akan membuat antarmuka cetak , dan di dalamnya kita akan membuat metode print() abstrak ;
interface printgib{
void print();
}
Sekarang kita memiliki antarmuka yang siap untuk digunakan oleh kelas, jadi mari kita buat kelas abc dan gk dan implementasikan antarmuka di dalamnya.
public class abc implements printgib{
public void print(){                     //1st implementation of print
System.out.println("I love you 3000");
}
public static void main(String[] args){
abc obj = new abc();
gk obj1 = new gk();
obj.print();
obj1.print();
}
}

class gk implements printgib{
public void print(){                   //2nd implementation of print
System.out.println("I am Gk");
}
}
Seperti yang ditunjukkan pada kode di atas, kami telah mencapai pewarisan berganda dan mengimplementasikan antarmuka. Sekarang untuk menjalankan kode, simpan file dan...
javac file_name.java
java abc

Hasil:

Rehat kopi #105.  Mengapa String tidak dapat diubah di Java?  Antarmuka di Java dan pewarisan berganda - 2
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION