OVERLOAD
- Dengan menggunakan kemampuan overload java, kita dapat memiliki lebih dari 1 method dengan nama yang sama di dalam suatu class.
- Method yang dioverload dan yang mengoverload sebenarnya adalah method-method yang benar-benar berbeda. Mereka hanya memiliki kesamaan nama saja.
- Constructor dapat dioverload.
·
Aturan overload
1. Method yang mengoverload
HARUS merubah argument list
2. Method yang mengoverload BOLEH merubah
return type
3. Method yang mengoverload BOLEH merubah access modifier
4. Method yang mengoverload BOLEH melempar checked exception yang lebih luas atau
baru sama sekali dari method yang dioverload.
5. Suatu method dapat dioverload di class tersebut atau di subclassnya.
- Method yang mengoverload HARUS merubah argument list. Aturan ini adalah satu-satunya syarat agar dapat terjadi overload
- Suatu method dapat dioverload di classnya atau dapat pula dioverload di subclassnya.
OVERRIDING
- Dengan overriding, kita dapat memiliki pengenal method yang sama persis dengan dengan pengenal method yang ada di super class, tapi berbeda behavior.
- Constructor tidak dapat dioverriding. Sebab constructor tidak diturunkan ke subclassnya.
·
Memanggil
method yang dioverride di super class
- Kita dapat memanggil method yang
dioverride di superclass dengan keyword super.
- Penggunaan keyword super hanya dapat
memanggil method di superclassnya langsung. Tidak dapat memanggil method di
superclass dari superclass.
Syarat access modifier
·
Bila suatu method tidak dapat diturunkan, maka method
tersebut tidak dapat dioverriding.
- Method beraccess modifier private adalah tidak diturunkan, oleh karena itu, bila di dalam superclass terdapat method private, dan kemudia pada subclassnya terdapat method yang namanya sama, maka method pada subclass tersebut sebenarnya adalah bukan overriding.
- Access modifier method yang mengoverride TIDAK BOLEH lebih restrictive bila dibandingkan dengan access modifier method yang diverride.
EXCEPTION
Exception
adalah event yang terjadi
ketika program menemui kesalahan pada saat instruksi program dijalankan. Banyak
hal yang dapat menimbulkan event ini, misalnya crash, harddisk rusak dengan
tiba-tiba, sehingga program-program tidak bisa mengakses file-file tertentu.
Programmer pun dapat menimbulkan event ini, misalnya dengan melakukan pembagian
dengan bilangan nol, atau pengisian elemen array melebihi jumlah elemen array
yang dialokasikan dan sebagainya.
Exception
terdiri dari dua macam kelompok, yaitu :
- Exception yang merupakan subclass RunTimeException
- Exception yang bukan subclass RunTimeException
RunTimeException biasanya disebabkan oleh
kesalahan program atau pada desain program. Misalnya NullPointerException yang
disebabkan oleh proses inisialisasi program yang tidak sempurna dan
ArrayIndexOutOfBoundsException yang
disebabkan akses array yang melebihi kapasitas array yang ada.
Dalam
bahasa Java, ketika terjadi kesalahan, otomatis akan dilemparkan sebuah objek
yang disebut exception, yang kemudian dapat diproses lebih lanjut
oleh fungsi-fungsi yang siap menangani kesalahan tersebut. Proses pelemparan
exception tersebut sering dikenal dengan istilah throwing exception,
sedangkan proses penerimaan exception yang bersangkutan dikenal dengan istilah catch
exception
Ada lima kata kunci yang digunakan oleh Java untuk
menanngani exception ini, yaitu, try,
catch, finally, throw, dan throws.
Situasi
yang menyebabkan exception dibagi menjadi 3 kategori yaitu,
·
Kesalahan
kode atau data. Contohnya jika kode berusaha mengakses suatu indeks
dari array yang di luar batas array.
· Metode
standar exception. Contohnya, metode substring() dalam kelas String, dapat
memunculkan pesan dalam bentuk StringIndexOutofBoundsException.
· Kesalahan
Java. Hal ini merupakan kesalahan dalam mengeksekusi Java
Virtual Machine yang dijalankan pada saat kompilasi.
Istilah exception digunakan
untuk menunjukkan kesalahan pada hardware, software, serta algoritma. Suatu
exception adalah obyek dari kelas standar Throwable, yang mempunyai turunan
terdiri dari :
·
Error.
Exception yang didefinisikan dalam keas ini mempunyai karakteristik bahwa
kondisi yang terjadi tidak dapat diubah. Terdapat tiga macam subclass yang
berada dibawahnya yaitu, ThreadDeath, Linkage Error, VirtualMachineError.
·
Exception. Untuk
kelas yang diturunkan dari exception kompiler memeriksa bahwa kita bisa
menangani exception dengan metode yang ada.
Macam penangkaanan exception menggunakan kata kunci try,
catch, dan finally sebagai berikut :
· Kode yang akan dimonitor exception-nya diletakkan
dalam blok try. Jika terjadi exception dalam blok tersebut, maka
exception dilemparkan.
·
Blok yang diawali dengan catch menangani
exception tersebut.
· Blok yang diawali dengan finally pada umumnya
dieksekusi sebelum methode berakhir.
Langkah - langkah Praktikum :
1. SegiTiga.Java
2. MainSegiTiga.Java
3.OverRidimg.java
4. SubOverRiding.java
Tidak ada komentar:
Posting Komentar