JavaRush /Java Blog /Random-ID /Rehat kopi #114. Konstruktor default di Java adalah conto...

Rehat kopi #114. Konstruktor default di Java adalah contoh konstruktor kelas. Maven vs Gradle: Cara Memilih Alat Bangun yang Tepat

Dipublikasikan di grup Random-ID

Konstruktor Default di Java - Contoh Konstruktor Kelas

Sumber: FreeCodeCamp Pada artikel ini kita akan membahas tentang konstruktor, cara membuatnya, dan apa saja konstruktor default di Java. Rehat kopi #114.  Konstruktor default di Java adalah contoh konstruktor kelas.  Maven vs Gradle: Cara Memilih Alat Bangun yang Tepat - 1

Apa itu konstruktor?

Sebagai istilah pemrograman berorientasi objek berbasis kelas, konstruktor adalah metode unik yang digunakan untuk menginisialisasi objek (kelas) yang baru dibuat. Ada beberapa aturan yang harus Anda ikuti saat membuat konstruktor. Aturan-aturan ini meliputi:
  • Nama konstruktor harus sesuai dengan nama kelas.
  • Konstruktor tidak boleh memiliki tipe kembalian.
Sebelum kita melanjutkan, mari kita lihat seperti apa sebuah kelas di Java:
public class Student {
  String firstName;
  String lastName;
  int age;
}
Kode di atas menunjukkan kelas Student dengan tiga atribut - firstName , lastName dan age . Kami berasumsi bahwa kelas tersebut harus menjadi model pendaftaran siswa. Ingatlah bahwa ketiga atribut ini tidak memiliki nilai apa pun, sehingga informasi di dalamnya tidak dikodekan secara keras. Sekarang kita akan menggunakan konstruktor untuk membuat instance baru dari objek Student kita :
public class Student {
  String firstName;
  String lastName;
  int age;

  //конструктор Student
  public Student(){
      firstName = "Ihechikara";
      lastName = "Abba";
      age = 100;
  }

  public static void main(String args[]) {
      Student myStudent = new Student();
      System.out.println(myStudent.age);
      // 100
  }
}
Kami membuat konstruktor yang kami gunakan untuk menginisialisasi atribut yang ditentukan dalam objek Student . Kode di atas adalah contoh konstruktor tanpa argumen . Sekarang mari kita lihat contoh lain:
public class Student {
  String firstName;
  String lastName;
  int age;

  //конструктор
  public Student(String firstName, String lastName, int age){
      this.firstName = firstName;
      this.lastName = lastName;
      this.age = age;
  }

  public static void main(String args[]) {
    Student myStudent = new Student("Ihechikara", "Abba", 100);
    System.out.println(myStudent.age);
  }

}
Sekarang kita telah membuat konstruktor berparameter. Konstruktor berparameter adalah konstruktor yang dibuat dengan argumen/parameter. Sekarang mari kita ubah.
public Student(String firstName, String lastName, int age){

  }
Kami telah membuat konstruktor baru yang mengambil tiga argumen - dua string dan satu bilangan bulat.
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
Kami kemudian mengaitkan argumen ini dengan atribut yang kami tentukan saat membuat kelas kami. Sekarang kita telah menginisialisasi objek Student menggunakan konstruktor.
public static void main(String args[]) {
    Student myStudent = new Student("Ihechikara", "Abba", 100);
    System.out.println(myStudent.age);
  }
Terakhir, kita membuat instance baru dari objek Student dan meneruskan argumen kita ke objek tersebut. Kami dapat melakukan ini karena kami telah mendefinisikannya di konstruktor. Saya membuat satu konstruktor dengan tiga argumen, tetapi Anda juga dapat membuat konstruktor terpisah untuk menginisialisasi setiap atribut. Sekarang setelah Anda mengetahui apa itu konstruktor di Java dan cara menggunakannya, mari kita lihat konstruktor default.

Apa konstruktor defaultnya?

Konstruktor default adalah konstruktor yang dihasilkan oleh kompiler jika kita tidak mendefinisikan konstruktor apa pun untuk kelas tersebut. Berikut ini contohnya:
public class Student {
  String firstName;
  String lastName;
  int age;

  public static void main(String args[]) {
      Student myStudent = new Student();

      myStudent.firstName = "Ihechikara";
      myStudent.lastName = "Abba";
      myStudent.age = 100;

      System.out.println(myStudent.age);
      //100

      System.out.println(myStudent.firstName);
      //Ihechikara
  }
}
Dapatkah Anda menemukan perbedaan antara contoh ini dan dua contoh sebelumnya? Perhatikan bahwa sebelum pembuatan, kami tidak mendefinisikan konstruktor myStudent untuk menginisialisasi atribut yang dibuat di kelas. Ini tidak akan menimbulkan kesalahan pada jalur kita. Lebih tepatnya, kompiler akan membuat konstruktor kosong, tetapi Anda tidak akan melihat konstruktor ini di mana pun dalam kode - ini terjadi “di balik terpal”. Ini adalah tampilan kode di atas ketika kompiler mulai melakukan tugasnya:
public class Student {
  String firstName;
  String lastName;
  int age;


  /* пустой конструктор, созданный компилятором. Этот конструктор не будет отображаться в вашем codeе*/
  Student() {

  }

  public static void main(String args[]) {
      Student myStudent = new Student();

      myStudent.firstName = "Ihechikara";
      myStudent.lastName = "Abba";
      myStudent.age = 100;

      System.out.println(myStudent.age);
      //100

      System.out.println(myStudent.firstName);
      //Ihechikara
  }
}
Banyak orang bingung antara konstruktor default dengan konstruktor tanpa argumen, tetapi di Java keduanya bukanlah hal yang sama. Konstruktor apa pun yang dibuat oleh pemrogram tidak dianggap sebagai konstruktor default di Java.

Kesimpulan

Dalam artikel ini, kita mempelajari apa itu konstruktor dan bagaimana kita dapat membuat serta menggunakannya untuk menginisialisasi objek kita. Kami juga berbicara tentang konstruktor default dan perbedaannya dari konstruktor tanpa argumen. Selamat membuat kode!

Maven vs Gradle: Cara Memilih Alat Bangun yang Tepat

Sumber: Otomatisasi Hackernoon Build adalah aspek penting dalam pengembangan perangkat lunak. Pada artikel ini, kami akan membandingkan dua alat build paling populer untuk pengembangan Java: Maven dan Gradle . Rehat kopi #114.  Konstruktor default di Java adalah contoh konstruktor kelas.  Maven vs Gradle: Cara memilih alat build yang tepat - 2

Buat dan Apache Ant

Sebelumnya, pengembang menggunakan alat Make untuk membuat proyek Java, dan proses pembuatannya tidak jauh berbeda dengan membuat aplikasi dalam bahasa lain. Namun pada tahun 2000, sistem build Ant (Another Neat Tool) dirilis. Ant, seperti Make, menggunakan gaya imperatif, dan skrip build-nya memiliki sintaks XML. Ant dirancang sebagai sistem otomasi pembangunan untuk proyek Java. Oleh karena itu, pengembang Java dapat dengan mudah memperluas fungsinya.

Maven

Pada tahun 2004, sistem pembangunan Maven baru keluar dan mengubah proses pembuatan aplikasi Java. Sebelumnya, pengembang sendiri mengatur struktur folder untuk menyimpan kode sumber, sumber daya, direktori classpath, dan direktori keluaran. Oleh karena itu, skrip pembuatan Ant untuk dua aplikasi berbeda bisa sangat berbeda: kompilasi, perakitan, penyalinan file ke direktori keluaran, dll. ditulis secara terpisah. Di Maven, proyek Java selalu memiliki struktur yang jelas. Misalnya, sumber harus dalam src/main/java, sumber daya untuk pengujian harus dalam src/test/resources. Maven memungkinkan Anda membuat struktur file proyek biasa dengan satu perintah. Maven juga memperkenalkan konsep “build lifecycle” dengan fase berurutan: validasi ➞ kompilasi ➞ pengujian ➞ paket ➞ verifikasi ➞ instal ➞ penerapan) Sekarang, berkat folder struktur tetap dan serangkaian target, tidak perlu menulis dan pertahankan skrip build yang besar - skrip tersebut menjadi deklaratif. Menjadi lebih nyaman bagi pengembang untuk bekerja tidak hanya dengan kode mereka sendiri, tetapi juga dengan proyek pihak ketiga, karena jelas cara kerja kode sumber dan cara merakitnya. Ada cukup banyak perpustakaan di dunia Java, dan aplikasi besar menggunakan ratusan perpustakaan. Jika Anda menggunakan Ant, ingatlah bahwa Anda harus menambahkan sendiri file jar yang diperlukan ke proyek. Anda juga perlu mengurus ketergantungan transitif yang diperlukan. Maven menyediakan fungsionalitas manajer ketergantungan melalui Repositori Pusat Maven. Sekarang, ketika menentukan dependensi baru dalam skrip build, Maven akan secara otomatis menemukan jar yang diperlukan dari versi yang sesuai dan semua dependensi transitifnya, mendownloadnya, dan memastikan bahwa dependensi tersebut berakhir di classpath proyek. Anda juga dapat mengelola repositori pribadi Anda, tempat Anda dapat menyimpan perpustakaan Anda sendiri atau perpustakaan yang ditambal, atau perpustakaan standar yang dibuat dengan tangan. Perlu dicatat bahwa Ant dapat digunakan bersama dengan Proyek Apache Ivy , yang juga memungkinkan Anda mengelola dependensi dan bekerja dengan repositori Maven. Terlepas dari semua kelebihan Maven, pendekatan deklaratifnya dapat menjadi kelemahan dalam beberapa situasi. Misalnya, saat Anda perlu mengubah siklus hidup pembangunan dan menambahkan sasaran baru ke proses pembangunan. Fungsionalitas Maven dapat diperluas menggunakan plugin. Ada banyak plugin Maven siap pakai yang memecahkan berbagai masalah, semuanya juga tersedia dari Repositori Pusat Maven. Tetapi jika karena alasan tertentu Anda perlu sedikit mengubah siklus hidup standar, dan tidak ada plugin yang sesuai, pengembang harus membuatnya sendiri.

Gradle

Rilis pertama sistem build Gradle dirilis pada tahun 2008. 4 tahun kemudian versi 1.0 dirilis. Tujuan proyek Gradle adalah untuk mempertahankan semua manfaat Maven, namun pada saat yang sama meningkatkan kemampuan untuk menyesuaikan proses pembangunan. Skrip pembangunan Gradle ditulis dalam Groovy DSL. Gradle memungkinkan Anda menulis skrip pembangunan deklaratif dan lebih ringkas daripada Maven karena XML cukup besar. Anda dapat dengan mudah menambahkan logika khusus ke proses pembangunan Gradle Anda. Yang perlu Anda lakukan hanyalah menulis skrip Groovy, dan Anda tidak perlu mengembangkan plugin. Pengembang dapat dengan mudah men-debug eksekusi skrip build karena ini adalah file Groovy biasa. Jadi, Gradle menggabungkan pendekatan deklaratif dan imperatif. Gradle juga mendukung plugin, memungkinkan pengembang mengubah pengaturan. Salah satu keunggulan signifikan Gradle adalah pembangunan inkremental. Saat pembangunan dimulai ulang, Gradle menentukan apakah file masukan target telah berubah, dan jika tidak, eksekusi target akan dilewati karena artefak keluarannya telah dibuat. Hal ini memberikan peningkatan yang signifikan dalam kecepatan build dibandingkan Maven, terutama dalam proyek multi-modul besar. Gradle juga dapat menjalankan daemon Gradle, sebuah proses latar belakang yang menghindari pemborosan sumber daya dan waktu inisialisasi setiap kali build dijalankan. Gradle memiliki fitur pembungkus Gradle yang berguna - kemampuan untuk menghasilkan shell dan skrip perintah Windows yang secara otomatis mengunduh distribusi Gradle dari versi yang ditentukan dan menggunakannya untuk membangun proyek. Artinya untuk membangun proyek Gradle Anda tidak perlu menginstal Gradle secara terpisah, cukup instal Java. Jika perlu, Anda dapat dengan mudah mengalihkan proyek Anda ke versi Gradle yang lain.

Memilih antara Maven dan Gradle

Terlepas dari keunggulan Gradle, cukup banyak proyek yang menggunakan sistem pembangunan Maven. Pilihannya tergantung pada jenis proyek dan tim. Maven telah digunakan sejak tahun 2004, sehingga semakin banyak pengembang yang mengenalnya. Apalagi Maven stabil. Versi mayor terbaru 3 dirilis pada tahun 2010. Gradle telah berubah secara signifikan beberapa kali tanpa kompatibilitas ke belakang, dan pengembang harus mem-porting skrip build mereka ke versi baru. Karena tidak semua orang familiar dengan Groovy atau Kotlin, bekerja dengan Gradle memerlukan pengetahuan tambahan, sedangkan Maven menggunakan XML yang jelas. Hal ini menimbulkan pertanyaan: jika proyek memulai pengembangan sebelum Gradle menjadi populer, apakah masuk akal untuk memindahkan skrip build ke Gradle? Di satu sisi, semakin banyak pengembang yang memilih Gradle. Misalnya, Spring, Hibernate, dan LinkedIn menggunakan Gradle. Sistem build Android juga Gradle, dan umumnya populer di kalangan pengembang aplikasi Android. Di sisi lain, semua IDE terkenal memiliki integrasi dengan sistem build dan mendukung pelengkapan otomatis saat mengedit skrip build. Seperti Maven, Gradle memiliki banyak plugin yang memungkinkan Anda menambahkan fungsi yang sering digunakan ke proses pembangunan proyek.

Kesimpulan

Dari kelebihan dan kekurangan masing-masing sistem perakitan yang dijelaskan di atas, dapat diambil kesimpulan sebagai berikut. Maven lebih cocok untuk proyek kecil yang tidak memerlukan penyesuaian proses pembangunan, dan waktu pembangunan proyek tidak terlalu penting. Gradle lebih cocok untuk proyek skala besar dengan jumlah modul yang banyak, serta untuk aplikasi Android.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION