. .

BAGIAN KE TUJUH: Java Classes - Menulis Java Classes Sendiri Pada Netbeans IDE

Posted by CHRISTIANTO D,WIBOWO | D3MI-2016 STMIK BUMI GORA On Selasa, Desember 20, 2016 No comments

BAGIAN KE TUJUH: Java Classes - Writing Your Own Java Classes Pada Netbeans IDE, Sebelum kita meneruskan mempelajari pembelajaran ini, ada baiknya kita baca artikel-artikel sebelumnya yang terhubung dengan langkah-langkah pembelajaran ini (Link) BAHASA PEMROGRAMAN JAVA PADA NETBEANS IDE.
Terimakasih pada sumber :

Java adalah bahasa pemrograman yang berorientasi pada objek. Sebagai bahasa yang memiliki fitur Object-Oriented, Java mendukung konsep dasar berikut :
  • Polymorphism
  • Inheritance
  • Encapsulation
  • Abstraction
  • Classes
  • Objects
  • Instance
  • Method
  • Message Parsing
Dalam pembelajaran ini, kita akan melihat lebih detail konsep - Class dan ObjectsObjects memiliki keadaan dan perilaku. Contoh: Seekor anjing memiliki kondisi - warna, nama, berkembang biak serta perilaku - mengibaskan ekor, menggonggong, makan. Sebuah Objects adalah instance dari kelas. Class - Sebuah class dapat didefinisikan sebagai template / blueprint yang menggambarkan perilaku/kadaan yang menjadi objek dukungan jenisnya.
Java Objects
Mari kita melihat jauh lebih dalam apa yang dimaksud Objects tersebut. Jika kita mempertimbangkan dunia nyata, kita bisa menemukan banyak benda-benda di sekitar kita, mobil, anjing, manusia, dll Semua benda-benda memiliki keadaan dan perilaku.
Jika kita menganggap anjing, maka keadaanya adalah - nama, jenis, warna, dan perilaku yang - menggonggong, mengibaskan ekor, berjalan.
Jika kita membandingkan objek perangkat lunak dengan objek dunia nyata, mereka memiliki karakteristik yang sangat mirip. Objek perangkat lunak - Software juga memiliki keadaan dan perilaku. Keadaan sebuah objek perangkat lunak disimpan di field dan perilaku ditunjukkan melalui metode. Jadi dalam pengembangan perangkat lunak, metode beroperasi pada keadaan internal suatu objek dan komunikasi objek-to-objek dilakukan melalui metode.
Java Classes
Sebuah kelas adalah blueprint-cetak biru dari objek individu diciptakan. Berikut adalah contoh dari sebuah kelas.
public class Dog {
   String breed;
   int ageC
   String color;
   void barking() {
   }
   void hungry() {
   }
   void sleeping() {
   }
}
Sebuah class dapat berisi salah satu jenis variabel berikut.
  • Local variables - Variabel yang didefinisikan dalam metode, konstruktor atau blok disebut variabel lokal. variabel akan dideklarasikan dan diinisialisasi dalam metode dan variabel akan hancur ketika metode telah selesai.
  • Instance variables − variabel instan adalah variabel di dalam class tetapi di luar metode apapun. Variabel-variabel ini diinisialisasi ketika class dipakai. variabel dapat diakses dari dalam metode, konstruktor atau blok dari class tertentu.
  • Class variables − variabel class adalah variabel yang dideklarasikan dalam class, di luar metode apapun, dengan kata kunci statis.
Konstituen Class
Sebuah class dapat memiliki sejumlah metode untuk mengakses nilai dari berbagai jenis metode. Dalam contoh di atas adalah metode barking (), hungry () dan sleep (). Berikut ini adalah beberapa topik penting yang perlu dibahas ketika melihat ke dalam class dari Java Languages Programming.
Sebuah kelas sebagaimana telah dinyatakan memiliki tiga besar komponen variabel, konstruktor dan metode. Sebuah class dapat memiliki semua ini, beberapa di antaranya atau tidak sama sekali. Kita bisa membuat class kosong yang tidak memiliki variabel, konstruktor atau metode tapi namun tidak akan ada penggunaan class tersebut. Pertama, kita akan melihat pembungkus luar class yang berisi hanya nama class. Ini adalah persis sama dengan apa yang telah kita lihat dalam program awal jika kita membuat Java Program.
< access specifier > class < class name > {
}
Penentu akses yang diizinkan untuk ditetapkan untuk class yang publik atau private. Kita juga dapat meninggalkannya tanpa ditentukan. Kita hanya dapat menulis kata class dan memberi nama. specifier akses < access specifier > digunakan untuk menentukan domain di mana elemen dapat diakses. Ketika kita mendefinisikan class umum, itu berarti bahwa class dapat diakses dari mana saja. Di sisi lain, mendefinisikan class sebagai private membatasi akses ke file program tertentu. Kita akan melihat penentu lagi. Kata class adalah kata kunci dan akhirnya nama class perlu mengikuti aturan pengenal. Kurung kurawal melayani tujuan pembatasan class. Apa pun yang muncul dalam kurung kurawal adalah bagian dari class. Sekelompok laporan diapit oleh kurung kurawal dikenal sebagai blok. Untuk saat ini, kita akan beralih ke class Student. Kita mendefinisikan class Student dengan cara berikut
public class Student {
   // variables
   // constructors
   // methods
}
Pada titik waktu ini, perlu untuk memahami bahwa kita tidak memiliki metode utama di sini. Kita tentu saja bebas untuk menyertakan metode utama tapi kami akan menguji class Student ini luar dalam class baru (atau lebih jelas-program) yang memiliki metode utama.
Sekarang, kita akan melihat mendeklarasikan variabel. Variabel dideklarasikan dengan menentukan tipe data dan nama variabel. Kita mungkin memiliki pilihan menyatakan specifier akses juga. Variabel yang dideklarasikan di dalam class dapat diakses oleh semua metode class. Variabel ini mencirikan sebagai objek yang akan dipakai dari class-class ini. Berikut adalah sintaks untuk deklarasi variabel.
< access specifier > < data type > < variable name >;
Kita juga dapat memberikan nilai yang akan menjadi default untuk objek yang dipakai dari class ini. Tapi, kita harus melakukannya dengan cara yang lebih baik menggunakan konstruktor.
< access specifier > < data type > < variable name > = < value > ;
Untuk saat ini, di sini adalah class Student dengan lima variabel.
public class Student {
   private int rollNumber;
   private String name;
   private int marks1;
   private int marks2;
   private int marks3;
}
Kita telah menerapkan akses specifier private untuk masing-masing variabel. Ketika kita melakukannya, variabel-variabel ini dapat diakses dari dalam class saja. Setiap upaya untuk mengaksesnya dari luar class akan menghasilkan kesalahan kompilasi. Hal ini dapat lebih baik dijelaskan ketika kita membawa objek ke sebuah kondisi. Kita mebuat objek Student dari class ini. Setelah melakukannya, kita tidak bisa langsung meminta akses ke variabel tersebut dengan menggunakan nama objek dan dot operator dengan cara berikut.
student1.marks1 = 100; // student1 is of type Student
Ingat bahwa kita telah menggunakan operator dot beberapa kali sebelumnya di menjalankan print() statement. Dot operator yang digunakan untuk mengakses anggota class dan objek. Sebelumnya kita telah diakses variabel dari Sistem class. Sementara sekarang, kita mencoba untuk mengakses variabel marks1 dari object Student, Murid1. Ini tidak diperbolehkan karena variabel marks1 dinyatakan sebagai variabel private. Jika variabel itu publik, pernyataan seperti ini akan berlaku. Kita akan lihat nanti bagaimana kita bisa membuat objek Murid1. Kita juga akan melihat bagaimana variabel-variabel tersebut dapat diakses atau dimodifikasi menggunakan get dan metode yang akan ditetapkan. Sekarang, kita beralih ke konstruktor. Konstruktor digunakan untuk menginisialisasi objek. Konstruktor muncul agak mirip dengan metode sintaks tetapi ada beberapa perbedaan. Ada dua jenis konstruktor : constructors default dan konstruktor parameterised. konstruktor default tidak menerima parameter apapun sementara konstruktor parameterised menerima parameter. Ingat bahwa variabel dinyatakan dalam kurung kurawal disebut sebagai parameter. parameter ini memiliki tipe data dan nama variabel. Sekarang kita akan melihat bagaimana kita dapat menyediakan konstruktor default.
public Student ( ) {
   name = null;
   rollNumber = -1;
   marks1 = -1;
   marks2=-1;
   marks3=-1;
}
Header konstruktor default (baris pertama) terdiri dari specifier akses dan nama konstruktor - public Student ( ) {. Nama konstruktor harus sama dengan class, yang dalam hal ini adalah 'Student'. Karena ini adalah konstruktor default yang tidak mengambil argumen, tanda kurung dibiarkan kosong. Dan kemudian, seperti biasa kita memulai blok menggunakan kurung kurawal pembuka. Kita kemudian menginisialisasinya variabel untuk beberapa nilai default. Kita menjalankan nama untuk null -  name = null; . Sebuah tipe data referensi ketika dijalankan untuk nol menunjukkan bahwa variabel tidak mengacu pada objek apapun dalam memori. Ingat bahwa String adalah tipe data referensi (karena merupakan class). Dan kita telah menjalankan bilangan bulat yang tersisa dengan -1 - rollNumber = -1; hanya untuk menunjukkan bahwa 'Student' tidak dijalankan dengan nilai yang tepat. Kita dimungkinkan, jika ingin memberikan beberapa nilai default. Berikut konstruktor default, tapi kita telah menggunakan nilai default nol dan -1 karena mereka mencerminkan skenario dengan cara mengapit.
public Student ( ) {
   name = "No name";
   rollNumber = 0;
   marks1 = 2;
   marks2=3;
   marks3=10;
}
Tapi, ingat bahwa class tidak dapat memiliki lebih dari satu konstruktor default.

Kita sekarang pindah ke ke konstruktor parameter. konstruktor parameter menerima argumen yang item data gunakan untuk menginisialisasi variabel class. Berikut menunjukkan konstruktor parameterised untuk lima variabel class yang dijalankan dengan argumen yang akan diterima oleh konstruktor.
public Student ( String n, int rn, int m1, int m2, int m3) {
   name = n;
   rollNumber = rn;
   marks1 = m1;
   marks2 =m2;
   marks3= m3;
}

Karena ini adalah konstruktor parameterised yang menerima argumen, nilai-nilai yang diperlukan telah dinyatakan dalam tanda kurung. Kami menyatakan tipe data argumen yang diperlukan dan memberikan nama variabel. Ini konstruktor parameterised tertentu yang ditentukan dengan lima parameter. Masing-masing parameter harus dipisahkan dengan koma. Tubuh konstruktor memberikan nilai-nilai yang diterima untuk variabel instance. Misalkan kita lulus nilai "Christianto", 34,97,99,98 untuk konstruktor; kemudian "Christianto" akan disimpan dalam n, 34 di rn, 97 di m1 dan sebagainya. Dan kemudian karena nama pernyataan = n; Nama akan dijalankan dengan "Christianto". Dengan cara yang sama, variabel lain juga dijalankan dengan nilai-nilai dilewatkan ke konstruktor. Kita akan lihat nanti bagaimana kita melewati nilai-nilai ke konstruktor sekaligus menciptakan sebuah objek menggunakan kata kunci baru.

Kita dapat mendefinisikan lebih dari satu konstruktor untuk class. Misalkan, kita ingin memberikan fasilitas di mana kita harus bisa membuat objek Student hanya lewat nama and roll nomor, dan menetapkan marks untuk 0, kita dapat melakukannya dengan bantuan konstruktor lain seperti yang ditunjukkan di bawah ini.
public Student ( String n, int rn) {
   name = n;
   rollNumber = rn;
   marks1=0;
   marks2=0;
   marks3=0;
}

Proses menyediakan lebih dari satu konstruktor untuk class dikenal sebagai konstruktor overloading. Namun, ada pembatasan tertentu di sini yang akan kita lihat nanti ketika berhadapan dengan konstruktor overloading. Untuk saat ini, kita telah menyatakan variabel dan memberikan tiga konstruktor. Sekarang, mari kita memberikan metode yang akan mencetak rincian seorang Student. Sebuah definisi metode akan sama dengan apa yang telah kita lihat dalam program kita sebelumnya. Satu-satunya perbedaannya sekarang kita akan menghilangkan kata statis dan juga menghapus String [] args parameter. Statis digunakan sebelumnya karena ada kebutuhan untuk itu metode utama untuk dipanggil tanpa dikemas obyek dari class itu, baik itu HelloWorld atau class Penambahan. Parameter String [] args juga memiliki arti ada sekitar yang akan nanti gunakan berhadapan dengan argumen baris perintah. String [] adalah tipe data seperti String dan int dan args adalah nama variabel untuk argumen yang akan dilewatkan ke main. Kita akan berurusan dengan mereka di kemudian, untuk saat ini, di sini adalah metode printDetails () yang mencetak rincian Pelajar.
public void printDetails() {
   System.out.println("Roll Number: "+ rollNumber);
   System.out.println("Name: "+name);
   System.out.println("Marks in first subject: "+marks1);
   System.out.println("Marks in second subject: "+marks2);
   System.out.println("Marks in second subject: "+marks3);
}
Metode ini terlihat seperti sebuah konstruktor. Perbedaannya adalah bahwa kita memiliki jenis kembali - returns dan nama metode tidak perlu sama dengan class. Jenis kembali di sini adalah kekosongan yang berarti bahwa metode ini tidak akan mengembalikan nilai apapun setelah eksekusi. Kita akan melihat bagaimana menerapkan metode yang mengembalikan nilai-nilai dalam beberapa saat dan bagaimana menggunakan nilai-nilai kembali tersebut.

Kita baru saja mulai dengan desain class Student, tetapi masih belum selesai. Kita belum menyediakan sarana untuk memodifikasi nilai-nilai variabel dan tidak ada metode yang mencetak total nilai dan rata-rata. Namun, versi saat ini dari class Student cukup untuk membangun objek. Berikut ini adalah versi pertama dari class Student yang memiliki lima variabel, dua constructors- satu default dan dua parameterised dan terakhir metode untuk mencetak rincian tentang Student.
Konstruktor default telah sedikit dimodifikasi untuk memberikan nilai default untuk nama sebagai "No name" bukan null. ..............Class Student
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package student;
/**
 * @author CHRISTIANTO "GEMBLONG" DHARMA WIBOWO LEARN JAVA
 */
public class Student {
 
   private int rollNumber;
   private String name;
   private int marks1;
   private int marks2;
   private int marks3;

   public Student ( ) {
      name = "No name";
      rollNumber = -1;
      marks1 = -1;
      marks2=-1;
      marks3=-1;
   }

   public Student ( String n, int rn, int m1, int m2, int m3) {
      name = n;
      rollNumber = rn;
      marks1 = m1;
      marks2 =m2;
      marks3= m3;
   }

   public Student ( String n, int rn) {
      name = n;
      rollNumber = rn;
      marks1=0;
      marks2=0;
      marks3=0;
   }
   public void printDetails() {
      System.out.println("Roll Number: "+ rollNumber);
      System.out.println("Name: "+name);
      System.out.println("Marks in first subject: "+marks1);
      System.out.println("Marks in second subject: "+marks2);
      System.out.println("Marks in second subject: "+marks3);
         }
}
Membuat objects and Calling Methods
Sekarang, kita telah mengkodekan class, kita akan menggunakannya untuk membuat objek Student yang berbeda. Kita beri nama class test. Sebuah class test bukan tipe class khusus. class test sama seperti 'Hello World' program kita di awal yang memiliki metode utama yang dipanggil ketika program dijalankan. Ingat bahwa program harus memiliki metode () utama didefinisikan dengan specifiers public, statis dan void jika untuk dieksekusi.

Pertama, kita akan menciptakan objek dari class. Hal ini mirip dengan bagaimana kita menyatakan variabel tipe data primitif dan dijalankan dengan nilai-nilai, misalnya: inisialisasi variabel firstNumber dengan integer 3. tugas yang sama harus dilakukan di sini-Mendeklarasikan variabel dan inisialisasi dengan objek. Tetapi tugas tambahan yang diperlukan di sini adalah penciptaan objek-objek. Sejak class sebagai jenis data referensi, variabel dari jenis class tidak dapat dijalankan dengan cara yang sederhana seperti yang kita telah inisiasikan pada integer dan variabel floating point. Kita membuat objek menggunakan kata kunci baru dan kemudian menetapkan referensi dari objek yang ke variabel dari jenis class. Berikut adalah sintaks umum menciptakan sebuah objek dan menugaskan referensi ke variabel dari jenis class yang sesuai.
< variable type - the class name > < variable/ object name > = new < call to constructor >;
Variabel jenis yang kita buat di sini adalah nama class. konstruktor disebut dengan melewati parameter yang diperlukan jika ada. Misalkan, kita ingin membuat objek Student menggunakan konstruktor default, maka pernyataan berikut ini digunakan.
Student s1 = new Student ();
Dalam tanda kurung dibiarkan kosong sejak konstruktor default tidak memerlukan argumen. Namun, jika kita ingin membuat objek Student dengan menggunakan konstruktor parameterised, maka kita harus melewati argumen yang tepat, pisahkan dengan koma. Kita juga dapat memisahkan deklarasi variabel Student dari inisialisasi dengan objek Student dengan cara berikut.
Student s1; s1 = new Student(); 
Di atas dua pernyataan yang setara dengan pernyataan tunggal yang sebelumnya digunakan untuk membuat objek Student s1. Pernyataan berikut menggunakan konstruktor parameterised dari class Student untuk membuat objek Student. Kita melewati argumen yang diperlukan dengan menentukan mereka dalam tanda kurung.
Student s2 = new Student ( "Christ", 3 ); Student s3 = new Student ( "Tianto" , 4 , 98 , 100, 96);
Konstruktor yang dipanggil ditentukan dengan mencocokkan daftar argumen dengan daftar parameter konstruktor. Dalam pernyataan pertama di atas, kita telah menentukan argumen String dan argumen integer. Kita memiliki konstruktor yang sesuai dengan argumen ini. Maka konstruktor yang dipanggil, inisialisasi, nama untuk "Christ", rollNumber ke 3, dan marks1, marks2 dan marks3 ke 0. Panggilan konstruktor kedua di atas cocok dengan konstruktor ketiga yang disediakan oleh kita yang membutuhkan lima argumen. Hal ini tidak hanya jumlah argumen yang dihitung untuk tetapi juga urutan dan jenis parameter ini. Jika kita telah menggantikan String pertama dengan nilai integer, atau ditukar String pertama dan argumen integer terakhir seperti yang ditunjukkan di bawah ini, kita akan menerima kesalahan kompilasi.
Student s3 = new Student (4 ,96, 98 , 100, "Christianto"); // incorrect
Kita dapat menyediakan tidak hanya konstanta tetapi juga variabel atau ekspresi dalam daftar argumen. Mereka akan dievaluasi sebelum constructor yang sesuai disebut. Objek Student s3  bisa saja dibuat dengan cara berikut juga:
int num = 96 ; Student s3 = new Student ("Christianto" , 4, num, num+2, 48+52); 
Student object yang akan dihasilkan dari pernyataan ini akan identik dengan yang telah dibuat sebelumnya. Setiap variabel atau ekspresi dalam daftar argumen dievaluasi sebelum mereka lulus ke konstruktor.
Sekarang, kami memiliki tiga Student objects. Masing-masing dari mereka memiliki salinan mereka sendiri dari variabel instance yang dapat dimodifikasi secara independen dari orang lain/class lain. Berikut adalah representasi fisik dari tiga objek tersebut.
Sekarang kita telah menciptakan objects, kita akan melihat bagaimana variabel dan metode objects-benda dapat diakses. Untuk mengakses variabel atau metode, kita menggunakan operator referensi dengan cara sebagai berikut (.):
s1.printDetails();
Pernyataan di atas memanggil printDetails() method pada Student object s1. Jika metode ini membutuhkan argumen, kita kondisikan mereka dalam tanda kurung seperti yang kita lakukan dalam kasus konstruktor parameterised. Variabel juga diakses dengan cara yang sama, kecuali bahwa tanda kurung tidak termasuk. Yang memisahkan variabel dari metode dan membantu kita untuk membedakan antara keduanya. Jika nama variabel itu public kita bisa menggunakan pernyataan berikut untuk menetapkan String ke variabel nama s1 dengan cara sebagai berikut:
s1.name="Gemblong";
Kita juga dapat mencetak nilai-nilai ini, seperti yang kita cetak variabel String jika variabel dinyatakan sebagai publik.
System.out.println("Name is "+ s1.name); 
Tapi, untuk objek saat akses tersebut ditolak karena variabel dinyatakan sebagai pribadi -private yang berarti bahwa variabel tidak dapat diakses di luar kelas.
Dengan demikian, kita memiliki program lengkap yang menciptakan tiga objects Student dan memanggil metode printDetails () pada masing-masing objects tersebut.
Class StudentTest
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package student;
/**
 * @author CHRISTIANTO "GEMBLONG" DHARMA WIBOWO LEARN JAVA
 */
public class StudentTest {
    public static void main ( String[] args ) {
      Student s1 = new Student () ;
      Student s2 = new Student ( "Christianto", 3 );
      Student s3 = new Student ( "Gemblong" , 4 , 98 , 100, 96);
      System.out.println("Student s1: ");
      s1.printDetails();
      System.out.println("\nStudent s2: ");
      s2.printDetails();
      System.out.println("\nStudent s3: ");
      s3.printDetails();
   }
}
Ketika kita menjalankan program ini, kita mendapatkan output sebagai berikut:
Constructors - Konstruktor
Ketika membahas tentang class, salah satu sub topik yang paling penting adalah Constructors - konstruktor. Setiap class memiliki konstruktor. Jika kita tidak secara eksplisit menulis konstruktor untuk class, maka compiler Java akan membangun konstruktor default untuk class tersebut.
Setiap kali sebuah objek yang baru dibuat, setidaknya satu konstruktor akan dipanggil. Aturan utama konstruktor adalah bahwa mereka harus memiliki nama yang sama dengan class. Sebuah class dapat memiliki lebih dari satu konstruktor. Berikut adalah contoh dari konstruktor :
public class Puppy {
   public Puppy() {
   }
   public Puppy(String name) {
      // konstruktor ini memiliki satu parameter, name.
   }
}
Detail tentang Contructor ini akan kita bahas lebih lanjut pada pembahasan berikutnya. Saat ini kita fokus saja pada penulisan java class kita sendiri dulu, Pada bagian ini, kita akan belajar bagaimana menulis Java class dan bagaimana membuat objek dari mereka. Kita sudah menyinggung di awal-awal pembelajaran tentang Java Class di bagian sebelumnya. Tapi saat ini kita akan lebih detail merincinya. Ada kalanya kita bingung tentang perbedaan antara Objects dan Class, ketika kita berbicara tentang class sebenarnya kita sedang membicarakan tentang baris kode itu sendiri, adalah barisan kode yang belum melakukan apa-apa, dan bila kita menempatkan kode untuk class tersebut untuk bisa bekerja itu baru disebut sebuah objek.
Ketika kita membuat class, kita sedang menulis kode untuk melakukan pekerjaan tertentu. pekerjaan yang mungkin harus dilakukan dengan seorang karyawan, namun bukan data penjualan perusahaan pada saat yang sama. Kita akan menulis class terpisah untuk angka penjualan. Dengan cara itu, kita bisa kembali menggunakan class karyawan di proyek lainnya. Dan angka penjualan akan data yang berulang (loop).
Ketika kita mencoba dengan ide-ide sendiri untuk class kita harus ingat bahwa masalah redundansi dan bertanya pada diri sendiri, "Apakah ada kode di class ini yang tidak perlu berada di sini? "  Misalnya, kita akan menulis sebuah class yang berhubungan dengan nilai ujian. Sebagai contoh class, kita akan membuat hal-hal sederhana. Kita akan mencatat nama peserta ujian, yang ujiannya adalah tentang skor diatas 50, dan peringkat.
Ayo kita coba membuat project baru, yang kita beri nama paketnya exams dengan main method-metode utamanya ExamDetails, tulis saja dulu seperti ini :
packages exams;
public class ExamDetails {
          public static void main (String[] args) {
          }
}
Kita akan membuat class kedua untuk menangani data ujian. Jadi, di NetBeans, klik File dari menu bar di bagian atas. Dari menu File, pilih New File. Sorot Java dari daftar Kategori, dan Java Class dari daftar Jenis File. Kemudian klik Next. Pada layar berikutnya, masukkan StudentResults sebagai nama class. Kemudian klik Finish. NetBeans akan membuat dua class dalam proyek baru kita ini  ExamDetails dan StudentResults.  Kita Break dulu sampai disini dan biarkan paket exams kita tetap dalam Netbeans, pada bahasan berikutnya kita akan gunakan dalam pembelajaran berikutnya, karena kita akan belajar tentang Field Variabel.

0 komentar:

Posting Komentar