stifler's Blog


UNSUR-UNSUR DEKLARASI METHOD PADA JAVA

Unsur-unsur yang hanya dibutuhkan dalam sebuah deklarasi method yang mengembalikan tipe metode, nama, sepasang tanda kurung, (), dan tubuh antara kurung, {}.

Secara umum, deklarasi metode memiliki enam komponen, dalam rangka:

1. Pengubah-seperti publik, swasta, dan lain-lain Anda akan belajar tentang nanti.
2. Jenis return-tipe data dari nilai yang dikembalikan oleh metode, atau jika metode void tidak mengembalikan nilai.
3. Nama metode-aturan untuk nama field berlaku untuk nama metode juga, tetapi konvensi ini sedikit berbeda.
4. Daftar parameter dalam daftar kurung-koma-delimited parameter input, didahului dengan jenis data mereka, tertutup oleh tanda kurung, (). Jika tidak ada parameter, Anda harus menggunakan tanda kurung kosong.
5. Sebuah daftar pengecualian-yang akan dibicarakan nanti.
6. Tubuh metode, tertutup antara kode kurung-metode, termasuk deklarasi variabel lokal, goes here.

Pengubah, jenis kembali, dan parameter akan dibahas kemudian dalam pelajaran ini. Pengecualian dibahas dalam pelajaran berikutnya.
Definisi: Dua dari komponen-komponen dari sebuah deklarasi method terdiri nama tanda tangan metode-metode dan jenis parameter. Tanda tangan dari metode dinyatakan di atas adalah:
calculateAnswer (double, int, double, double), Penamaan sebuah Metode meskipun nama metode bisa salah hukum identifier, kode konvensi membatasi nama metode. Dengan konvensi, nama metode harus menjadi kata kerja dalam huruf kecil atau nama multi-kata yang diawali dengan kata kerja dalam huruf kecil, diikuti oleh kata sifat, kata benda, dll nama multi-kata, huruf pertama setiap kata-kata kedua dan mengikuti harus dikapitalisasi. Berikut adalah beberapa contoh:
menjalankan /runFast
getBackground
getFinalData
compareTo
setX
isEmpty
Biasanya, metode yang memiliki nama yang unik dalam kelasnya. Namun, metode mungkin memiliki nama yang sama dengan metode lain karena overloading metode Bahasa pemrograman Java mendukung overloading metode, dan Jawa dapat membedakan antara metode dengan tanda tangan metode yang berbeda. Ini berarti bahwa metode dalam class dapat memiliki nama yang sama jika mereka memiliki daftar parameter yang berbeda (ada beberapa kualifikasi ini yang akan dibahas dalam pelajaran yang berjudul “Interface dan Inheritance”). Misalkan Anda memiliki kelas yang dapat menggunakan kaligrafi untuk menarik berbagai jenis data (string, integer, dan sebagainya) dan yang berisi sebuah metode untuk menggambar setiap jenis data. Hal ini praktis untuk menggunakan nama baru untuk setiap metode-misalnya, tali, drawInteger, drawFloat, dan sebagainya. Dalam bahasa pemrograman Java, Anda dapat menggunakan nama yang sama untuk semua metode menggambar tetapi melewati sebuah daftar argumen yang berbeda untuk setiap metode. Dengan demikian, data gambar kelas mungkin menyatakan empat metode bernama menggambar, masing-masing memiliki daftar parameter yang berbeda.

public class DataArtist {

public void menarik (String s) {

}
public void draw (int i) {

}
public void draw (double f) {

}
public void draw (int i, double f) {

}
}

metode overload dibedakan dengan jumlah dan jenis argumen dilewatkan ke dalam metode ini. Dalam contoh kode, menggambar (String s) dan menggambar (int i) metode yang berbeda dan unik karena mereka membutuhkan jenis argumen yang berbeda. Anda tidak dapat mendeklarasikan lebih dari satu metode dengan nama yang sama dan jumlah yang sama dan jenis argumen, karena compiler tidak bisa membedakan mereka.
Compiler tidak mempertimbangkan kembali ketika membedakan jenis metode, sehingga Anda tidak dapat mendeklarasikan dua metode dengan tanda tangan sama, meskipun mereka memiliki jenis yang berbeda kembali


Pelajaran: Kelas dan Objek

Pelajaran: Kelas dan Objek
Dengan pengetahuan yang Anda sekarang memiliki dasar-dasar dari bahasa pemrograman Java, Anda dapat belajar menulis kelas Anda sendiri. Dalam pelajaran ini, Anda akan menemukan informasi tentang mendefinisikan kelas Anda sendiri, termasuk mendeklarasikan variabel anggota, metode, dan konstruktor.

Anda akan belajar untuk menggunakan kelas Anda untuk membuat objek, dan bagaimana menggunakan objek yang Anda buat.

Pelajaran ini juga mencakup kelas bersarang di dalam kelas-kelas lain, mantri, dan penjelasan.
Kelas-kelas

Bagian ini menampilkan anatomi kelas, dan bagaimana cara mendeklarasikan bidang, metode, dan konstruktor.

Objek

Bagian ini mencakup menciptakan dan menggunakan benda-benda. Anda akan belajar bagaimana instantiate sebuah obyek, dan, sekali instantiated, bagaimana menggunakan dot operator untuk mengakses instance variabel objek dan metode.

Lebih lanjut tentang Kelas

Bagian ini mencakup aspek yang lebih dari kelas yang bergantung pada referensi objek menggunakan dan dot operator yang Anda pelajari di bagian sebelumnya: mengembalikan nilai dari metode, kontrol ini kata kunci, misalnya kelas vs anggota, dan akses.

Kelas Bersarang

Static nested class, inner class, anonymous inner class, dan kelas lokal tertutup.

Enam Jenis

Bagian ini mencakup mantri, kelas khusus yang memungkinkan Anda untuk menentukan dan menggunakan set konstanta.

Penjelasan

Anotasi memungkinkan Anda untuk menambahkan informasi untuk program anda yang tidak sebenarnya merupakan bagian dari program. Bagian ini menjelaskan tiga built-in penjelasan yang harus Anda ketahui.


Mendeklarasikan Kelas Nama Privasi sendiri

Mendeklarasikan Kelas
Anda pernah melihat kelas didefinisikan dengan cara berikut:

class MyClass {
/ / Lapangan, konstruktor, dan metode deklarasi
}

Ini adalah deklarasi kelas. Tubuh kelas (daerah antara kawat gigi) mengandung semua kode yang menyediakan untuk siklus hidup objek yang dibuat dari kelas: konstruktor untuk menginisialisasi objek baru, deklarasi untuk bidang-bidang yang menyediakan keadaan kelas dan objek, dan metode untuk menerapkan perilaku kelas dan objek-objeknya.

Deklarasi kelas sebelumnya adalah satu minimal-hanya berisi komponen-komponen dari sebuah deklarasi class yang diperlukan. Anda dapat memberikan informasi lebih lanjut tentang kelas, seperti nama dari superclass-nya, apakah itu menerapkan semua antarmuka, dan sebagainya, pada awal deklarasi kelas. Misalnya,

Class MyClass extends MySuperClass mengimplementasikan YourInterface {
/ / Lapangan, konstruktor, dan metode deklarasi
}

berarti bahwa KelasSaya adalah subclass dari MySuperClass dan yang mengimplementasikan antar muka antar muka anda.

Anda juga dapat menambahkan pengubah seperti publik atau swasta di awal-sehingga Anda dapat melihat bahwa kalimat pembuka dari sebuah deklarasi kelas dapat menjadi sangat rumit. Pengubah publik dan swasta, yang menentukan kelas-kelas lain dapat mengakses KelasSaya, kita bicarakan nanti dalam pelajaran ini. Pelajaran pada antarmuka dan warisan akan menjelaskan bagaimana dan mengapa Anda akan menggunakan memperluas dan menerapkan kata kunci dalam sebuah deklarasi kelas. Untuk saat ini anda tidak perlu khawatir tentang komplikasi tambahan.

Secara umum, deklarasi kelas dapat termasuk komponen-komponen ini, dalam rangka:

1. Pengubah seperti publik, swasta, dan sejumlah orang lain yang akan Anda hadapi nanti.
2. Nama kelas, dengan huruf awal dikapitalisasi oleh konvensi.
3. Nama induk class (superclass), jika ada, didahului dengan kata kunci meluas. kelas A hanya dapat memperpanjang (subclass) satu orangtua.
4. Sebuah daftar dipisahkan koma-interface dilaksanakan oleh kelas, jika ada, didahului dengan kata kunci mengimplementasikan. kelas A dapat mengimplementasikan lebih dari satu antarmuka.
5. Tubuh kelas, dikelilingi oleh kawat gigi, {}.


Nama Variabel Dalam Java

Mendeklarasikan Variabel Anggota
Ada beberapa macam variabel:

* Anggota variabel pada kelas-bidang ini disebut.
* Variabel dalam metode atau blok kode-variabel lokal ini disebut.
* Variabel dalam deklarasi metode-parameter ini disebut.

Kelas Sepeda menggunakan baris kode berikut untuk mendefinisikan bidangnya:

public int irama;
public int gigi;
public int kecepatan;

deklarasi Bidang terdiri dari tiga komponen, dalam rangka:

1. Nol atau pengubah lebih, seperti publik atau swasta.
2. Bidang’s jenis.
3. Field Nama.

Bidang sepeda yang bernama irama, gigi, dan kecepatan dan semua tipe data integer (int). Kata kunci publik mengidentifikasi bidang-bidang ini sebagai anggota masyarakat, yang dapat diakses oleh setiap objek yang dapat mengakses kelas.

Akses Pengubah
Yang pertama (paling kiri) pengubah digunakan memungkinkan Anda mengontrol apa kelas lain memiliki akses ke lapangan anggota. Untuk saat ini, mempertimbangkan hanya publik dan swasta. pengubah akses lain akan kita diskusikan nanti.

* Pengubah lapangan publik dapat diakses dari semua kelas.
* Pengubah lapangan swasta dapat diakses hanya dalam kelas tersendiri.

Dalam semangat enkapsulasi, biasanya untuk membuat bidang swasta. Ini berarti bahwa mereka hanya bisa langsung diakses dari kelas Sepeda. Kami masih membutuhkan akses ke nilai-nilai ini, namun. Hal ini dapat dilakukan secara tidak langsung dengan menambahkan metode publik yang mendapatkan nilai bidang bagi kita:

public class Sepeda {

private int irama;
private int gear;
private int kecepatan;

public Sepeda (startCadence int, int startSpeed, startGear int) {
gear = startGear;
irama = startCadence;
kecepatan = startSpeed;
}

public int getCadence () {
kembali irama;
}

public void setCadence (newValue int) {
irama = newValue;
}

public int getGear () {
kembali gigi;
}

public void setGear (newValue int) {
gear = newValue;
}

public int getSpeed () {
kembali kecepatan;
}

public void applyBrake (int decrement) {
-= kecepatan penurunan;
}

public void speedup (kelipatan int) {
kecepatan + kenaikan =;
}

}

Jenis
Semua variabel harus memiliki tipe. Anda dapat menggunakan tipe primitif seperti int, float, boolean, dll Atau Anda bisa menggunakan tipe referensi, seperti string, array, atau objek.

Nama Variabel
Semua variabel, apakah mereka bidang, variabel lokal, atau parameter, mengikuti aturan penamaan yang sama dan konvensi yang tercakup dalam pelajaran Bahasa Dasar, Variabel-Penamaan.

Dalam pelajaran ini, harus menyadari bahwa aturan-aturan dan konvensi penamaan yang sama digunakan untuk nama metode dan kelas, kecuali bahwa

* Huruf pertama dari nama kelas harus dikapitalisasi, dan
* Yang pertama (atau tunggal) kata dalam nama metode harus kata kerja.


Parameter Nama dalam Java

Parameter Nama
Ketika mendeklarasikan parameter ke metode atau konstruktor,Kamu memberikan nama untuk parameter tersebut. Nama ini digunakan di dalam tubuh metode untuk merujuk pada lulus-dalam argumen.
Nama parameter harus unik dalam lingkup. Hal ini tidak bisa sama dengan nama lain parameter untuk metode yang sama atau konstruktor, dan tidak bisa berupa nama variabel lokal di dalam metode atau konstruktor. Parameter dapat memiliki nama yang sama sebagai salah satu bidang kelas itu. Jika hal ini terjadi, parameter dikatakan bayangan lapangan. bidang bayangan dapat membuat kode Kamu sulit untuk dibaca dan secara konvensional digunakan hanya dalam konstruktor dan metode yang menetapkan bidang tertentu. Sebagai contoh, perhatikan kelas Circle berikut dan metode setOrigin nya:

public class Circle {
swasta int x, y, radius;
public void setOrigin (int x, int y) {

}
}

Kelas Circle memiliki tiga bidang: x, y, dan radius. Metode setOrigin memiliki dua parameter, yang masing-masing memiliki nama yang sama sebagai salah satu bidang. Setiap metode bayangan parameter lapangan yang namanya saham. Jadi dengan menggunakan nama sederhana x atau y dalam tubuh metode ini mengacu pada parameter, tidak ke lapangan. Untuk mengakses lapangan, Anda harus menggunakan nama yang memenuhi syarat. Ini akan dibahas nanti dalam pelajaran ini di bagian yang berjudul “Menggunakan Kata Kunci ini.”
Passing Argumen Tipe Data Primitif
Argumen primitif, seperti int atau double, dilewatkan ke metode dengan nilai. Ini berarti bahwa setiap perubahan nilai-nilai parameter hanya ada dalam lingkup metode. Ketika kembali metode, parameter telah pergi dan perubahan bagi mereka yang hilang. Berikut adalah contohnya:

public class PassPrimitiveByValue {

public static void main (String [] args) {

int x 3 =;

/ / Memanggil passMethod () dengan x sebagai argumen
passMethod (x);

/ / Print x untuk melihat apakah nilainya telah berubah
System.out.println (“Setelah memanggil passMethod, x =” + x);

}

/ / Ubah parameter dalam passMethod ()
public static void passMethod (int p) {
p 10 =;
}
}

Ketika Kamu menjalankan program ini, output adalah:

Setelah memanggil passMethod, x = 3

Passing Argumen Tipe Data Referensi
Referensi parameter tipe data, seperti objek, juga dilewatkan ke metode dengan nilai. Ini berarti bahwa ketika kembali metode, yang disahkan pada referensi-referensi masih objek yang sama seperti sebelumnya. Namun, nilai bidang objek dapat diubah dalam metode, jika mereka memiliki tingkat akses yang tepat.
Sebagai contoh, perhatikan suatu metode dalam kelas sewenang-wenang yang bergerak objek Circle:

public void moveCircle (Circle lingkaran, deltaX int, int deltaY) {
/ / Kode untuk pindah asal lingkaran untuk x + deltaX, y + deltaY
circle.setX (circle.getX () + deltaX);
circle.setY (circle.getY () + deltaY);

/ / Kode untuk menetapkan referensi baru untuk lingkaran
lingkaran = new Lingkaran (0, 0);
}

Biarkan metode dipanggil dengan argumen ini:

moveCircle (myCircle, 23, 56)

Di dalam metode ini, lingkaran awalnya mengacu pada myCircle. Metode Perubahan x dan y koordinat objek yang lingkaran referensi (yaitu, myCircle) oleh 23, dan 56 masing-masing. Perubahan ini akan bertahan ketika kembali metode. Kemudian lingkaran ditugaskan referensi ke sebuah obyek Lingkaran baru dengan x = y = 0. pergantian ini tidak permanen, bagaimanapun, karena referensi disahkan oleh nilai dan tidak bisa berubah. Dalam metode, objek yang ditunjuk oleh lingkaran telah berubah, tapi, ketika kembali metode, myCircle masih referensi objek Lingkaran yang sama seperti sebelumnya metode disebut.