Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Mengganti Metode Java

Penggantian Metode Java

Dalam tutorial ini, kita akan belajar tentang metode overriding di Java dengan bantuan contoh.

Dalam tutorial terakhir, kita belajar tentang pewarisan. Warisan adalah properti OOP yang memungkinkan kita untuk menurunkan kelas baru (subclass) dari kelas yang ada (superclass). Subclass mewarisi atribut dan metode superclass.

Sekarang, jika metode yang sama didefinisikan di kedua superclass dan subclass, maka metode kelas subclass menimpa metode superclass. Ini dikenal sebagai penggantian metode.


Contoh 1:Penggantian Metode

class Animal {
   public void displayInfo() {
      System.out.println("I am an animal.");
   }
}

class Dog extends Animal {
   @Override
   public void displayInfo() {
      System.out.println("I am a dog.");
   }
}

class Main {
   public static void main(String[] args) {
      Dog d1 = new Dog();
      d1.displayInfo();
   }
}

Keluaran :

I am a dog.

Pada program di atas, displayInfo() metode ini ada di Hewan superclass dan Anjing subkelas.

Saat kita memanggil displayInfo() menggunakan d1 objek (objek dari subkelas), metode di dalam subkelas Anjing disebut. displayInfo() metode subkelas menimpa metode yang sama dari kelas super.

Perhatikan penggunaan @Override anotasi dalam contoh kita. Di Java, anotasi adalah metadata yang kami gunakan untuk memberikan informasi kepada kompiler. Di sini, @Override anotasi menentukan kompiler bahwa metode setelah anotasi ini menimpa metode superclass.

Tidak wajib menggunakan @Override . Namun, ketika kami menggunakan ini, metode ini harus mengikuti semua aturan penggantian. Jika tidak, kompilator akan menghasilkan kesalahan.


Aturan Penggantian Java


Kata Kunci super di Java Overriding

Pertanyaan umum yang muncul saat melakukan override di Java adalah:

Dapatkah kita mengakses metode superclass setelah menimpa?

Jawabannya adalah Ya . Untuk mengakses metode superclass dari subclass, kami menggunakan super kata kunci.

Contoh 2:Penggunaan Kata Kunci super

class Animal {
   public void displayInfo() {
      System.out.println("I am an animal.");
   }
}

class Dog extends Animal {
   public void displayInfo() {
      super.displayInfo();
      System.out.println("I am a dog.");
   }
}

class Main {
   public static void main(String[] args) {
      Dog d1 = new Dog();
      d1.displayInfo();
   }
}

Keluaran :

I am an animal.
I am a dog.

Dalam contoh di atas, subkelas Anjing menimpa metode displayInfo() dari kelas super Hewan .

Saat kita memanggil metode displayInfo() menggunakan d1 objek Anjing subkelas, metode di dalam Anjing subkelas disebut; metode di dalam superclass tidak dipanggil.

Di dalam displayInfo() dari Anjing subclass, kami telah menggunakan super.displayInfo() untuk memanggil displayInfo() dari kelas super.


Penting untuk dicatat bahwa konstruktor di Java tidak diwariskan. Oleh karena itu, tidak ada yang namanya override konstruktor di Java.

Namun, kita dapat memanggil konstruktor superclass dari subclass-nya. Untuk itu, kami menggunakan super() . Untuk mempelajari lebih lanjut, kunjungi kata kunci super Java.


Access Specifiers di Method Overriding

Metode yang sama dideklarasikan di superclass dan subclass-nya dapat memiliki penentu akses yang berbeda. Namun, ada batasannya.

Kami hanya dapat menggunakan penentu akses tersebut di subkelas yang menyediakan akses lebih besar daripada penentu akses superkelas. Misalnya,

Misalkan, sebuah metode myClass() di superclass dideklarasikan protected . Kemudian, metode yang sama myClass() di subclass dapat berupa public atau protected , tapi bukan private .

Contoh 3:Access Specifier di Overriding

class Animal {
   protected void displayInfo() {
      System.out.println("I am an animal.");
   }
}

class Dog extends Animal {
   public void displayInfo() {
      System.out.println("I am a dog.");
   }
}

class Main {
   public static void main(String[] args) {
      Dog d1 = new Dog();
      d1.displayInfo();
   }
}

Keluaran :

I am a dog.

Dalam contoh di atas, subkelas Anjing menimpa metode displayInfo() dari kelas super Hewan .

Setiap kali kita memanggil displayInfo() menggunakan d1 (objek dari subkelas), metode di dalam subkelas dipanggil.

Perhatikan bahwa, displayInfo() dideklarasikan protected di Hewan kelas super. Metode yang sama memiliki public penentu akses di Anjing subkelas. Hal ini dimungkinkan karena public menyediakan akses yang lebih besar daripada protected .


Mengganti Metode Abstrak

Di Java, kelas abstrak dibuat untuk menjadi superclass dari kelas lain. Dan, jika kelas berisi metode abstrak, wajib untuk menimpanya.

Kita akan belajar lebih banyak tentang kelas abstrak dan mengganti metode abstrak di tutorial selanjutnya.


java

  1. Operator Jawa
  2. Java mencoba-dengan-sumber daya
  3. Anotasi Jawa
  4. Jenis Anotasi Java
  5. String Length() Metode di Java:Cara menemukan dengan Contoh
  6. Java String indexOf() Metode dengan Substring &Contoh
  7. Metode Java String charAt() dengan Contoh
  8. Metode Java String compareTo():​​Cara Menggunakan dengan Contoh
  9. String Java berisi() Metode | Periksa Substring dengan Contoh
  10. Java String EndsWith() Metode dengan Contoh