Belajar Mengenal Contoh Nested Inner Class pada Program Java

  • Post
    codeorayo
    Keymaster
    none
    Seperti yang sudah di jelaskan di artikel belajar java sebelumnya, tentang Class dan Object.  Class merupakan sebuah kerangka/model (blueprint) atau bentuk awal (prototype), yang berfungsi untuk tempat menaruh,  dan mendeksripsikan variabel, method (perilaku ) dari sebuah obyek. Pada artikel belajar java sebelumnya juga ,kita telah mengenal istilah Nested Looping ,yaitu perulangan di dalam perulangan.

    Seperti halnya perulangan  ,  di dalam bahasa pemrograman Java , kita juga dapat membuat suatu class , menjadi bagian di dalam block di class lain atau class luar, atau bisa juga disebut class di dalam class (Nested Class). Class yang berada di dalam class luar ini  , juga bisa disebut Inner Class. Inner Class (Class di dalam) dapat mempunyai hak akses terhadap atribut atau method ,yang berada di Class luar ,meskipun dalam kondisi modifier private. Akan tetapi , sebaliknya Class luar , tidak mempunyai hak akses terhadap atribut atau method yang berada di Class dalam.

    Pada artikel belajar java kali ini ,kita akan mencoba mengenal contoh penggunaan  Inner Class , dengan menggunakan bahasa pemrograman java. Berikut mari kita simak lebih lanjut:

     Contoh Codenya :

    Mobil.java

    [table]

    [tr]

    [/tr]

    [tr]

    [/tr]

    [/table]

    [td][img]https://3.bp.blogspot.com/-AmNjF2mu0kI/W3eei2Vme0I/AAAAAAAALrI/8zwa1h9Xt1QwhqVLZfFTNpUGo_Ehyy0pQCLcBGAs/s1600/contoh-kegunaan-code-program-regular-pengertian-fungsi-materi-inner-class-pada-java.png[/img][/td]
    [td]Contoh Code (Robot.java)[/td]

    MainClass.java

    [table]

    [tr]

    [/tr]

    [tr]

    [/tr]

    [/table]

    [td][img width=640,height=468]https://3.bp.blogspot.com/-bWi9UF59wHg/W3eer97rW6I/AAAAAAAALrM/x3OKOWY8BdswKb6tyAToyl-BvHVEHTApQCLcBGAs/s640/contoh-kegunaan-code-program-regular-pengertian-fungsi-materi-inner-class-pada-java-2.png[/img][/td]
    [td]Contoh Code(MainClass.java)[/td]

    Output :

    [table]

    [tr]

    [/tr]

    [tr]

    [/tr]

    [/table]

    [td][img width=640,height=214]https://3.bp.blogspot.com/-lX31aIlJBb0/W3efAELOH_I/AAAAAAAALrY/mUJuZNGAvNY6hG1bNzsrRRSGCkXPgGTNwCLcBGAs/s640/output-hasil-contoh-kegunaan-code-program-regular-pengertian-fungsi-materi-inner-class-pada-java.png[/img][/td]
    [td]Output Hasil[/td]

    Penjelasan :

    Mobil.java

    Pada contoh code program pertama , kita membuat class Mobil ,yang didalamnya kita mendeklarasikan variable nomor, dengan tipe data integer , dan juga  modifier private.

    Selanjutnya , kita membuat 1 Constructor untuk class Mobil ,dengan menggunakan variable nomor.

    Pada baris code selanjutnya ,kita membuat inner class ,yang bernama class Mesin ,dengan modifier private ,yang di dalamnya kita mendefinisikan method .hidup().

    Lalu kita buat inner class lagi ,yang bernama Bensin , dengan menggunakan keyword static , dengan modifier public ,yang di dalamnya kita mendefinisikan method .biaya().

    Berikutnya ,kita membuat 1 method,  yang bernama mulai() ,milik class Mobil.

    Dimana di dalam method tersebut  , kita membuat dan memanggil method dari objek class Mesin.

    Serta kita bisa membuat local class yang bernama Data ,dan juga method tampilData() , di dalam method mulai().

    Begitu juga ,kita bisa membuat dan memanggil method dari objek class Data, di dalam method  mulai().

    MainClass.java

    Pada class ini ,kita akan mengeksekusi atau menjalankan program, dengan membuat objek ,dan memanggil method dari class Mobil dan Bensin.

    Kenapa kita perlu menggunakan Inner Class ?

    Berikut 3 alasan ,kenapa kita harus menggunakan nested class,  atau inner class di program java :

  • Salah satu cara untuk mengelompokan class secara logis ,yang digunakan dalam satu tempat.

  • Untuk meningkatkan encapsulation

  • Dapat mengarahkan ke baris code ,yang mudah dibaca dan dipelihara.


Ampuh! Ini rahasia mengembangkan aplikasi secara instan, tinggal download dan kembangkan. Gabung sekarang juga! Premium Membership [PRIVATE] https://premium.codeorayo.com
  • You must be logged in to reply to this topic.