Rumah >Java >javaTutorial >Takrif kaedah Java, kaedah panggilan dan lebihan beban
Kaedah ialah sekeping kod yang digunakan untuk melengkapkan fungsi tertentu, serupa dengan fungsi dalam bahasa lain.
Kaedah digunakan untuk mentakrifkan ciri tingkah laku dan pelaksanaan fungsi kelas ini atau kejadian kelas ini. Kaedah adalah abstraksi ciri-ciri tingkah laku kelas dan objek. Kaedah sangat serupa dengan fungsi dalam pengaturcaraan berorientasikan prosedur. Dalam orientasi proses, fungsi adalah unit paling asas, dan keseluruhan program terdiri daripada panggilan fungsi. Dalam berorientasikan objek, unit asas keseluruhan program ialah kelas, dan kaedah adalah bawahan kepada kelas dan objek.
[Pengubahsuai 1 Pengubah suai 2 …] Nama kaedah jenis nilai pulangan (senarai parameter formal) {
Pernyataan Java;&hellip ; … }
Nama objek.Nama kaedah (senarai parameter sebenar);
Parameter formal: Digunakan untuk menerima data masuk dari luar apabila kaedah diisytiharkan.
Parameter sebenar: data sebenarnya dihantar ke kaedah semasa memanggil kaedah.
Nilai pulangan: Data yang dikembalikan melalui kaedah kepada persekitaran yang memanggilnya selepas selesai pelaksanaan.
Jenis nilai pulangan: Jenis data nilai pulangan yang dipersetujui terlebih dahulu Jika tiada nilai pulangan, ia mesti dinyatakan secara jelas sebagai tidak sah.
Nota: Segala-galanya di Jawa dilalui oleh nilai
Contohnya: jika kita ingin mencetak nombor dari 1 hingga n, kaedah penulisan tradisional ditulis dalam kaedah utama, tetapi apabila terdapat banyak Apabila terdapat nilai, anda perlu menulis berbilang untuk gelung, jadi kod menjadi lebih berulang.
public class TestCode02 { public static void main(String[] args) { int n1 = 10; for (int i = 1; i <= n1; i++) { System.out.print(i + " "); } System.out.println(); //当有多个n时,都要每次写一遍for循环 int n2 = 13; for (int i = 1; i <= n2; i++) { System.out.print(i + " "); } System.out.println(); int n3=20; //for... } }
Kami mengekstrak kod yang sama dan memasukkannya ke dalam kaedah, supaya kami boleh memanggil kaedah ini setiap kali tanpa perlu menulis kod yang sama setiap kali
public class TestCode02 { public static void main(String[] args) { int n1 = 10; printNnums(n1); int n2=12; printNnums(n2); int n3=14; printNnums(n3); } public static void printNnums(int n){ for (int i = 1; i <= n; i++) { System.out.print(i + " "); } System.out.println(); } }
Dengan cara ini, kami mempunyai berbilang n, hanya panggil kaedah sekali
1 Kaedahnya ialah: ekstrak fungsi khusus untuk membentuk coretan kod, coretan kod ini ialah apa yang kita panggil kaedah
<.>2. Kaedah dan kaedah adalah dalam hubungan selari, jadi kaedah yang kita takrifkan tidak boleh ditulis dalam kaedah utama 3 Definisi kaedah–> nama kaedah jenis nilai pulangan (senarai parameter formal) {Badan kaedah; Kebolehgunaan semula kod
5. 🎜>Jenis data: Ia boleh menjadi asas jenis data (
Kaedah Jenis nilai pulangan: Jenis data yang sepadan dengan nilai pulangan kaedah
,
,,public static
,
Senarai parameter formal: parameter formal diperlukan semasa mentakrifkan kaedah: int num1, int num2 --> setara dengan memberitahu kaedah untuk memanggil Pengarang: Berapa banyak parameter yang perlu dihantar, dan jenis parameter yang perlu dihantar ; Parameter sebenar: Parameter khusus diluluskan apabila kaedah dipanggil: 10,20 -->
byte
short
int
kaedah pulangan nilai pulangan: long
float
double
char
kaedah jika ada nilai pulangan Jika: pulangkan+kaedah nilai pulangan, kembalikan nilai pulangan kepada tempat memanggil kaedah boolean
Cara untuk menghantar parameter sebenar: berapa banyak parameter yang dihantar, jenis apa yang diluluskan
Sama ada kaedah mempunyai pulangan nilai yang perlu diterima
Melebihi kaedah
Melebihi kaedah bermakna berbilang kaedah dengan nama yang sama boleh ditakrifkan dalam kelas, tetapi Kaedah dengan parameter yang berbeza. Apabila dipanggil, kaedah yang sepadan akan dipadankan secara automatik berdasarkan parameter yang berbeza.
Syarat yang membentuk kaedah terlebih muatan
Maksud yang berbeza: jenis parameter formal yang berbeza, bilangan parameter formal dan susunan parameter formal yang berbeza
Hanya nilai pulangan yang berbeza tidak membentuk kaedah lebihan beban; (contohnya: int add(int a,int b){} dan void add(int a,int b){} tidak membentuk kaedah terlebih muatan)
只有形参的名称不同,不构成方法的重载;(如:int add(int a){}与int add(int b){}不构成方法重载)
public class TestCode03 { public static void main(String[] args) { add(7,8); add(1.02,2.03); add(1,3,5); add(1,4,6,9); } //定义一个int型两数相加 public static void add(int a,int b){ System.out.println(a+"+"+b+"="+(a+b)); } //定义一个double类型的两数相加 public static void add(double a,double b){ System.out.println(a+"+"+b+"="+(a+b)); } //定义一个三个数相加 public static void add(int a,int b,int c){ System.out.println(a+"+"+b+"+"+c+"="+(a+b+c)); } //四数相加 public static void add(int a,int b,int c,int d){ System.out.println(a+"+"+b+"+"+c+"+"+d+"="+(a+b+c+d)); } }
方法的重载:在同一个类中,方法名相同,形参列表不同的多个方法,构成了方法的重载。
方法的重载只跟:方法名和形参列表有关,与修饰符,返回值类型无关。
注意:形参列表不同指的是什么?
(1)个数不同
add() add(int num1) add(int num1,int num2)
(2)顺序不同
add(int num1,double num2) add(double num1,int num2)
(3)类型不同
add(int num1) add(double num1)
Atas ialah kandungan terperinci Takrif kaedah Java, kaedah panggilan dan lebihan beban. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!