CodeGym /Blog Java /rawak /Kaedah Java
John Squirrels
Tahap
San Francisco

Kaedah Java

Diterbitkan dalam kumpulan
Pembolehubah dan pemalar dalam Java menyimpan nilai, manakala kaedah mengandungi set pengendali yang melakukan tindakan tertentu. Iaitu, kaedah dalam Java menentukan tingkah laku objek dan melakukan tindakan pada beberapa pembolehubah. Mereka boleh melakukan tindakan, serta menghasilkan hasil tertentu.

Apakah Kaedah di Jawa?

Kaedah mentakrifkan kelakuan objek dan merupakan urutan arahan yang membolehkan anda melakukan beberapa operasi dalam program. Dalam bahasa pengaturcaraan lain, kaedah sering dirujuk sebagai "fungsi", dan sememangnya begitu. Malah, kaedah adalah fungsi dalam pengertian matematik. Biasanya sesuatu dibekalkan kepada input kaedah (beberapa pembolehubah), pembolehubah ini diproses oleh urutan arahan, dan kemudian kaedah menghasilkan keputusan. Kemungkinan anda telah menemui kaedah, sekurang-kurangnya dengan public static void main(String[] args) . Kaedah ini biasanya memulakan pelaksanaan program Java.

Bagaimana untuk Mengisytiharkan Kaedah di Jawa?

Semua kaedah dalam Java dicipta di dalam kelas. Mereka diisytiharkan seperti berikut:
accessSpecifier ReturnType name (parameter list) {
//method body
}
Sebagai contoh:
public int addTwoNumbers (int a, int b){

//method body
return}
Jika awam ialah penentu akses, int ialah sejenis pembolehubah yang kaedah dikembalikan, addTwoNumbers ialah nama kaedah, a dan b ialah parameter kaedah. Mari kita lihat dengan lebih terperinci. Penentu capaian digunakan untuk menentukan jenis capaian kaedah. mereka boleh seperti berikut:
  • awam : akses kepada kaedah tersedia dari mana-mana kelas.

  • private : akses tersedia dalam kelas yang ditakrifkan.

  • protected : akses hanya tersedia di dalam pakej atau subkelas lain dalam pakej lain.

  • lalai : akses tersedia daripada pakej di mana ia diisytiharkan. Dalam kes ini, perkataan "lalai" tidak ditulis.

Jenis Pengembalian mentakrifkan jenis yang dikembalikan oleh kaedah ini. Dalam contoh di atas, int ialah jenis pulangan. Jika kaedah tidak mengembalikan apa-apa, jenis pulangan adalah tidak sah:
public void printSomething (String myString) {}
Nama kaedah ialah nama unik kaedah anda. Kami akan menerangkan beberapa peraturan penamaan Java sedikit kemudian dalam artikel ini. Dalam kaedah di atas nama adalah addTwoNumbers dan printSomething . Senarai parameter ialah senarai argumen (jenis data dan nama pembolehubah) yang digunakan oleh kaedah. Dalam contoh pertama di atas, "int a, int b" ialah parameter, dalam yang kedua, String myString ialah hujah. Anda juga boleh membiarkan medan ini kosong jika anda tidak mahu menggunakan sebarang parameter dalam kaedah tersebut.

Contoh Parameter Kaedah

public void printSomething (String myParameter1, int myParameter2) {}
Berikut ialah dua pembolehubah, myParameter1 dan myParameter2 . Mereka adalah parameter kaedah. ialah set arahan yang disertakan dalam pendakap kerinting yang kaedah akan dilaksanakan. Jika jenis pulangan kaedah tidak batal, kata kunci pulangan mesti ada dalam badan kaedah. return diikuti dengan hujah kaedah ini kembali. Jadi, untuk mencipta kaedah, anda perlu menentukan namanya bersama kurungan, dan dalam kurungan, jika perlu, pembolehubah kaedah itu akan beroperasi. Sebelum nama kaedah ialah penentu akses dan jenis pembolehubah yang dipulangkan oleh kaedah, atau terbatal jika kaedah tidak mengembalikan apa-apa. Dalam pendakap kerinting, kami menulis kaedah sebenar, urutan arahan yang paling kerap berfungsi dengan hujah kaedah. Berikut ialah contoh kaedah yang mencari nombor terbesar dalam tatasusunan dan mengembalikannya.
public int findBiggest(int[] numbers) {
   int max;
   max = numbers[0];
   for (int i = 1; i < numbers.length; i++) {
       if (max < numbers[i]) {
           max = numbers[i];
       }
   }
   return max;
}

Bagaimana Menamakan Kaedah?

Tiada peraturan ketat untuk kaedah penamaan, tetapi terdapat garis panduan yang perlu anda ikuti jika anda merancang untuk membangunkan secara profesional di Jawa. Nama kaedah selalunya adalah kata kerja, ditulis dalam huruf besar bercampur, bermula dengan huruf kecil tetapi menggunakan huruf besar untuk setiap perkataan berikutnya (camelCase). Berikut adalah beberapa contoh:
int addTwoNumbers (int a, int b)
void run()

Bagaimana untuk memanggil Kaedah

Untuk memanggil kaedah, cukup untuk menulis namanya dan menetapkan pembolehubah yang sepadan jika ia berada di pengisytiharan. Mari kita panggil kaedah findBiggest dalam kaedah utama :
public static void main(String[] args) {
  int[] array = new int[] {5, 7, -2, 6, 7, 1};
  int max = findBiggest(array);
   System.out.println("the biggest number in array is: " + max);
  }
Output program ini ialah:
nombor terbesar dalam tatasusunan ialah: 7

Pelbagai Jenis Kaedah dalam Java

Di Jawa, semuanya terdiri daripada objek, dan tingkah laku objek ditentukan oleh kaedah. Secara konvensional, kita boleh mengatakan bahawa Java mempunyai kaedah yang dipratentukan dan ditakrifkan oleh pengguna. Kaedah pratakrif ialah kaedah yang disertakan dalam kelas yang merupakan sebahagian daripada bahasa Java itu sendiri.

Kaedah Pratakrif

Kaedah perpustakaan yang dipratentukan atau standard dibina ke dalam Java. Sudah tentu, setiap pengaturcara boleh menggunakannya atau mengubah suainya secara tempatan untuk program mereka. Pustaka kelas Java terletak dalam fail arkib Java (contohnya, *jar) dengan mesin maya Java (JVM) dan persekitaran masa jalan Java. Ini boleh, sebagai contoh, kaedah kelas Matematik seperti min() , max() atau abs() . Atau kaedah manipulasi rentetan seperti concat() . Mari buat kelas dengan kaedah utama dan panggil beberapa kaedah perpustakaan standard.
import static java.lang.Math.max;

public class Test {

    public static void main(String[] args) {
       int a = 5;
       int b = 7;
       int max = max(a,b);
       System.out.println(max);
       String str1 = "I am ";
       String str2 = "here ";
       String str3 = str1.concat(str2);
       System.out.println(str3);


   }

}
Ambil perhatian bahawa untuk menggunakan kaedah kelas Matematik , ia mesti diimport pada permulaan program. Jika ini tidak dilakukan, anda boleh menulis nama kelas sebelum nama kaedah dipisahkan dengan titik:
int max = Math.max(a,b);

Kaedah yang ditentukan pengguna

Kaedah ini dicipta oleh pengaturcara untuk keperluan projek mereka. Sebenarnya, kami telah pun mencipta kaedah findBiggest() yang ditentukan pengguna di atas. Untuk menyatukan, mari buat kaedah lain yang tidak mengembalikan apa-apa dan tidak mempunyai parameter tetapi bertindak balas kepada nama yang dimasukkan dan menyapa (iaitu, output ke konsol).
import java.util.Scanner;

public class Test {

   public void repeater() {
       Scanner scanner = new Scanner(System.in);
       System.out.println("WHat should I repeat after you?...");
       String s =  scanner.nextLine();
       System.out.println(s);
   }
}

Mencipta Kaedah Statik dalam Java

Secara amnya, kaedah dalam Java ialah kaedah objek. Untuk memanggil kaedah, anda perlu membuat contoh kelas di mana kaedah ini ditakrifkan. Walau bagaimanapun, terdapat juga kaedah statik. Mereka berbeza daripada yang biasa kerana ia dilampirkan pada kelas, bukan objek. Sifat penting kaedah statik ialah ia hanya boleh mengakses pembolehubah/kaedah statik. Mereka ditakrifkan menggunakan kata kunci statik . Jadi, dalam kelas Matematik , semua kaedah untuk bekerja dengan pembolehubah adalah statik. Kita boleh mencipta sesuatu yang serupa dengan kelas Matematik dan mengumpul beberapa kaedah statik di dalamnya yang boleh digunakan tanpa membuat contoh kelas yang mengandungi. Mari kita panggil Nombor .
import java.util.ArrayList;
import java.util.List;
import java.util.stream.IntStream;


public class Numbers {


   public static int findMax(int left, int right) {
       return (left < right) ? right : left;

   }


   public static boolean isNegative(int number) {
       return number < 0;
   }

   public static long power(long number, int deg) {

       if (deg == 0) {
           number = 1;
           return number;
       } else {
           number = power(number, deg - 1) * number;
           return number;
       }
   }

   public static long abs(long number) {
       return number > 0 ? number : -number;
     }


    public static void main(String[] args) {

       int a = 5;
       int b = 7;
       long c = -7;
       long abs = abs(c);
       System.out.println(abs);
       System.out.println(findMax(a,b));

   }

}
Output program ada di sini:
7 7
Pertama, kaedah dipanggil yang mencari nilai mutlak nombor, dan kemudian kaedah yang mencari yang lebih besar daripada dua nombor. Anda tidak perlu membuat contoh kelas Numbers untuk memanggil kaedah ini kerana kedua-dua kaedah ditakrifkan sebagai statik.

Menggunakan Kaedah Contoh dalam Kod Java

Kaedah contoh atau kaedah biasa boleh dipanggil pada contoh kelas di mana kaedah itu ditakrifkan.
public class Cat implements Voice{
   String name;
   String breed;
   int year;


   public void talk() {
       System.out.println("meow meow");
   }
}
Untuk memanggil kaedah talk() , anda perlu mencipta contoh kelas Cat :
public class Demo {
   public static void main(String[] args) {
       Cat cat = new Cat ();
       cat.talk();

   }
}
Output program ini ada di sini:
meow meow

Kaedah Abstrak di Jawa

Kaedah abstrak di Jawa adalah kaedah tanpa pelaksanaan. Iaitu, ia tidak mengandungi kod apabila ia diisytiharkan. Mereka hanya boleh diisytiharkan dalam kelas abstrak dan dilaksanakan dalam keturunan bukan abstrak mereka. Mari buat kelas abstrak dengan satu kaedah abstrak myMethodAdd() .
abstract class DemoAbs {
   abstract void myMethodAdd();
}
Sekarang mari buat kelas Kanak-kanak kelas abstrak ini, DemoAbs . Di sini kita semestinya perlu melaksanakan kaedah myMethodAdd() .
public class myClass extends DemoAbs {

   void myMethodAdd() {
       System.out.println("hello");
   }

   public static void main(String[] args) {
       DemoAbs demoAbs = new myClass();
       demoAbs.myMethodAdd();
   }
}

Peruntukan memori untuk panggilan kaedah

Ini adalah topik yang agak kompleks yang memerlukan analisis yang lebih teliti. Di sini kita hanya akan menyebut yang paling asas untuk kenalan yang cetek dengan topik itu. Memori JVM terdiri daripada kawasan timbunan dan timbunan. Heap ialah kawasan memori yang menyimpan objek Java. Memori tindanan ialah kawasan sementara memori yang menyimpan pembolehubah primitif dan rujukan kepada objek kaedah. Memori tindanan mengandungi nilai jangka pendek yang bergantung pada kaedah. Jenis ingatan ini adalah berdasarkan prinsip Last In First Out (LIFO). Memori tindanan mencipta blok baharu apabila kita memanggil kaedah. Ia mengandungi nilai primitif tempatan. Apabila kita menamatkan kaedah, blok yang dibuat dalam memori tindanan menjadi percuma.

Kesimpulan

Dalam artikel ini, kami berkenalan dengan asas-asas mencipta kaedah dalam bahasa Java, serta kaedah apa yang ada dalam Java dan cara bekerja dengannya. Kami belajar bahawa kaedah menentukan tingkah laku kelas. Tanpa kaedah adalah mustahil untuk objek berinteraksi antara satu sama lain. Untuk mengukuhkan perkara yang anda pelajari, kami cadangkan anda menonton pelajaran video daripada Kursus Java kami
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION