Latest web development tutorials

objek Java dan kelas

Java sebagai bahasa berorientasi objek. Mendukung konsep-konsep dasar berikut:

  • polimorfisme
  • mewarisi
  • paket
  • abstrak
  • kategori
  • benda
  • contoh
  • cara
  • keberatan

Pada bagian ini kita fokus pada konsep objek dan kelas.

  • Objek: Objek adalah instance dari kelas (objek tidak untuk mencari pacar), ada negara dan perilaku. Misalnya, anjing adalah sebuah objek yang negara adalah: warna, nama, berkembang biak; perilaku: mengibaskan ekornya, yang disebut, makan dan sebagainya.
  • Kelas: Kelas adalah template yang menggambarkan perilaku dari kelas objek dan status.

Anak laki-laki dan perempuan di bawah angka untuk kelas, dan khusus untuk masing-masing kelas objek buatan:


objek Java

Sekarang mari kita memahami apa adalah obyek. Lihatlah di sekitar dunia nyata, Anda akan menemukan sekitar banyak objek, mobil, anjing, orang, dan sebagainya. Semua benda-benda memiliki negara dan perilaku mereka sendiri.

Untuk mengambil anjing misalnya, menyatakan adalah: nama, jenis, warna, perilaku: disebut, mengibaskan ekornya dan berlari.

Bandingkan benda nyata dan benda-benda software yang sangat mirip antara mereka.

Software benda memiliki negara dan perilaku. objek software negara adalah untuk atribut perilaku dengan metode ekspresi.

Dalam pengembangan perangkat lunak, memanggil satu sama lain untuk mengubah metode operasi keadaan internal suatu objek, objek tersebut dilakukan dengan metode.

Kelas Java

Kelas dapat dilihat sebagai template untuk membuat objek Java.

Dengan mengikuti definisi kelas sederhana untuk memahami Jawa di kelas:

public class Dog{
   String breed;
   int age;
   String color;
   void barking(){
   }
   
   void hungry(){
   }
   
   void sleeping(){
   }
}

Sebuah kelas dapat berisi jenis berikut variabel:

  • variabel lokal: variabel dalam metode, konstruktor atau pernyataan blok definisi disebut variabel lokal. Variabel dideklarasikan dan diinisialisasi dalam metode, setelah akhir metode, variabel akan secara otomatis hancur.
  • variabel anggota: variabel anggota kelas didefinisikan, variabel luar tubuh metode. variabel ini dibuat ketika objek yang dipakai. variabel anggota dapat diakses di blok pernyataan kelas metode, konstruktor dan metode dari kelas tertentu.
  • variabel kelas: variabel kelas dideklarasikan di kelas, metode selain tubuh, tetapi harus dinyatakan sebagai jenis statis.

Sebuah kelas dapat memiliki beberapa metode, dalam contoh di atas: menggonggong (), lapar () dan tidur () adalah kelas Dog.


pembina

Setiap kelas memiliki konstruktor. Jika Anda tidak secara eksplisit mendefinisikan konstruktor kelas, Jawa compiler akan menyediakan konstruktor default untuk kelas.

Menciptakan sebuah objek, setidaknya, untuk disebut konstruktor. Nama konstruktor harus nama yang sama dengan kelas, kelas dapat memiliki beberapa konstruktor.

Berikut adalah contoh constructor:

public class Puppy{
   public Puppy(){
   }

   public Puppy(String name){
      // 这个构造器仅有一个参数:name
   }
}

Buat Object

Objek diciptakan berdasarkan kelas. Di Jawa, menggunakan kata kunci baru untuk membuat objek baru. Buat objek membutuhkan tiga langkah berikut:

  • Disclaimer: menyatakan sebuah objek, termasuk nama objek dan jenis objek.
  • Contoh: kata kunci baru untuk membuat objek.
  • Inisialisasi: Buat objek baru menggunakan konstruktor default untuk menginisialisasi objek akan disebut.

Berikut adalah contoh dari menciptakan sebuah objek:

public class Puppy{
   public Puppy(String name){
      //这个构造器仅有一个参数:name
      System.out.println("Passed Name is :" + name ); 
   }
   public static void main(String []args){
      // 下面的语句将创建一个Puppy对象
      Puppy myPuppy = new Puppy( "tommy" );
   }
}

Mengkompilasi dan menjalankan program di atas akan mencetak hasil sebagai berikut:

Passed Name is :tommy

contoh variabel akses dan metode

Untuk mengakses variabel anggota dan metode anggota melalui sebuah objek telah dibuat, sebagai berikut:

/* 实例化对象 */
ObjectReference = new Constructor();
/* 访问其中的变量 */
ObjectReference.variableName;
/* 访问类中的方法 */
ObjectReference.MethodName();

contoh

Contoh berikut menunjukkan cara mengakses variabel instance dan metode anggota panggilan:

public class Puppy{
   int puppyAge;
   public Puppy(String name){
      // 这个构造器仅有一个参数:name
      System.out.println("Passed Name is :" + name ); 
   }

   public void setAge( int age ){
       puppyAge = age;
   }

   public int getAge( ){
       System.out.println("Puppy's age is :" + puppyAge ); 
       return puppyAge;
   }

   public static void main(String []args){
      /* 创建对象 */
      Puppy myPuppy = new Puppy( "tommy" );
      /* 通过方法来设定age */
      myPuppy.setAge( 2 );
      /* 调用另一个方法获取age */
      myPuppy.getAge( );
      /*你也可以像下面这样访问成员变量 */
      System.out.println("Variable Value :" + myPuppy.puppyAge ); 
   }
}

Mengkompilasi dan menjalankan program di atas menghasilkan hasil sebagai berikut:

Passed Name is :tommy
Puppy's age is :2
Variable Value :2

aturan deklarasi file sumber

Pada bagian terakhir dari bagian ini, kita akan mempelajari aturan menyatakan file sumber. Ketika anda mendefinisikan beberapa kelas dalam satu file sumber, dan ada laporan impor dan pernyataan paket, membayar perhatian khusus untuk aturan ini.

  • Sebuah sumber file hanya dapat memiliki satu kelas publik
  • Sebuah sumber file dapat memiliki beberapa kelas non-publik
  • Nama file sumber dan nama kelas public class harus konsisten. Misalnya: nama kelas di file sumber public class adalah karyawan, maka file sumber harus dinamai Employee.java.
  • Jika kelas didefinisikan dalam sebuah paket, pernyataan paket harus menjadi baris pertama dari file sumber.
  • Jika file sumber yang berisi pernyataan impor, pernyataan harus ditempatkan antara paket dan kelas definisi. Jika tidak ada pernyataan paket, pernyataan impor harus terdepan dalam file sumber.
  • Paket pernyataan dan laporan semua kelas didefinisikan dalam file sumber impor berlaku. Dalam file sumber yang sama, tidak ke kelas yang berbeda dari pernyataan paket yang berbeda.

Ada beberapa tingkatan kelas akses, dan kelas dapat dibagi menjadi berbagai jenis: kelas abstrak dan kelas akhir dan sejenisnya. Ini dijelaskan dalam bagian Access Control.

Selain jenis yang disebutkan di atas, Java ada beberapa kategori khusus, seperti: kelas batin, kelas anonim.


paket java

Paket ini terutama digunakan untuk mengkategorikan kelas dan interface. Ketika Anda mengembangkan program Java bisa menulis ratusan kelas, sehingga perlu untuk mengklasifikasikan kelas dan interface.

Pernyataan impor

Di Jawa, jika diberi nama yang memenuhi syarat, termasuk nama paket, nama kelas, maka compiler Java dapat dengan mudah menemukan kode sumber atau kategori. Pernyataan impor digunakan untuk menyediakan jalur yang wajar, sehingga kompilator dapat menemukan kelas.

Misalnya, mengikuti perintah baris perintah kompiler akan memuat semua kelas java_installation / java / path io dari

import java.io.*;

Contoh sederhana

Dalam contoh ini, kita membuat dua kelas: Karyawan dan EmployeeTest.

Pertama, buka editor teks untuk paste kode berikut ke dalamnya. Catatan Simpan file sebagai Employee.java.

kelas karyawan memiliki empat variabel anggota: nama, umur, penunjukan dan gaji. Kelas secara eksplisit menyatakan metode konstruktor, yang hanya satu parameter.

import java.io.*;
public class Employee{
   String name;
   int age;
   String designation;
   double salary;
   // Employee 类的构造器
   public Employee(String name){
      this.name = name;
   }
   // 设置age的值
   public void empAge(int empAge){
      age =  empAge;
   }
   /* 设置designation的值*/
   public void empDesignation(String empDesig){
      designation = empDesig;
   }
   /* 设置salary的值*/
   public void empSalary(double empSalary){
      salary = empSalary;
   }
   /* 打印信息 */
   public void printEmployee(){
      System.out.println("Name:"+ name );
      System.out.println("Age:" + age );
      System.out.println("Designation:" + designation );
      System.out.println("Salary:" + salary);
   }
}

pelaksanaan program dimulai dari metode utama. Untuk menjalankan program ini, dan harus berisi metode utama menciptakan sebuah instance dari sebuah objek.

Berikut adalah kelas EmployeeTest, instantiate dua contoh dari kelas Employee, dan memanggil metode untuk menetapkan nilai dari variabel.

Kode berikut disimpan dalam file EmployeeTest.java.

import java.io.*;
public class EmployeeTest{

   public static void main(String args[]){
      /* 使用构造器创建两个对象 */
      Employee empOne = new Employee("James Smith");
      Employee empTwo = new Employee("Mary Anne");

      // 调用这两个对象的成员方法
      empOne.empAge(26);
      empOne.empDesignation("Senior Software Engineer");
      empOne.empSalary(1000);
      empOne.printEmployee();

      empTwo.empAge(21);
      empTwo.empDesignation("Software Engineer");
      empTwo.empSalary(500);
      empTwo.printEmployee();
   }
}

Kompilasi kedua file dan menjalankan kelas EmployeeTest, Anda dapat melihat hasil sebagai berikut:

C :> javac Employee.java
C :> vi EmployeeTest.java
C :> javac  EmployeeTest.java
C :> java EmployeeTest
Name:James Smith
Age:26
Designation:Senior Software Engineer
Salary:1000.0
Name:Mary Anne
Age:21
Designation:Software Engineer
Salary:500.0