Rumah  >  Artikel  >  Java  >  Program Java untuk menyemak kebolehcapaian kaedah statik kepada pembolehubah statik

Program Java untuk menyemak kebolehcapaian kaedah statik kepada pembolehubah statik

WBOY
WBOYke hadapan
2023-08-26 17:25:06895semak imbas

Program Java untuk menyemak kebolehcapaian kaedah statik kepada pembolehubah statik

Pengenalan

Di Java, kita boleh menentukan pembolehubah dan kaedah sebagai statik. Pembolehubah statik atau kaedah tergolong dalam kelas itu sendiri, bukan kepada objek individu kelas itu. Oleh itu, kita boleh mengakses pembolehubah statik atau kaedah menggunakan nama kelas tanpa mencipta objek kelas itu.

Dalam program ini, kami akan meneroka cara menyemak kebolehcapaian pembolehubah statik melalui kaedah statik. Kami akan menentukan kelas dengan pembolehubah statik dan kaedah statik untuk mengakses pembolehubah. Kemudian kami akan memanggil kaedah statik untuk menyemak sama ada ia boleh mengakses pembolehubah statik.

Definisi

Statik

kata kunci statik sangat berguna dalam Java untuk mencipta kaedah utiliti atau pembolehubah yang boleh diakses daripada berbilang kelas tanpa mencipta objek kelas tersebut. Ia juga digunakan untuk mengekalkan nilai malar yang sama merentas semua kejadian kelas. Walau bagaimanapun, penggunaan pembolehubah statik dan kaedah mungkin membawa masalah yang berpotensi seperti keselamatan benang dan kesukaran ujian, jadi ia harus digunakan dengan berhati-hati.

Berikut ialah beberapa ciri utama statik di Jawa -

  • Pembolehubah statik

  • Kaedah statik

  • Blok Statik

  • Kelas Bersarang Statik

Pembolehubah Statik - Pembolehubah statik ialah pembolehubah peringkat kelas yang dikongsi antara semua kejadian kelas. Ia ditakrifkan menggunakan kata kunci statik dan dimulakan sekali sahaja apabila kelas dimuatkan. Gunakan nama kelas diikuti oleh pengendali titik untuk mengakses pembolehubah statik.

Kes 1: Akses kaedah statik melalui pembolehubah statik

Jika anda mengisytiharkan kaedah statik dengan pengubah suai akses awam, mana-mana kelas lain boleh mengakses kaedah tersebut, termasuk kelas yang mengandungi pembolehubah statik. Dalam kes ini, pembolehubah statik boleh diakses melalui kaedah statik jika ia juga diisytiharkan dengan pengubah akses awam.

Walau bagaimanapun, jika anda mengisytiharkan kaedah statik dengan pengubah suai akses peribadi, ia hanya boleh diakses dalam kelas yang sama. Dalam kes ini, pembolehubah statik tidak boleh diakses melalui kaedah statik, walaupun diisytiharkan dengan pengubah suai akses awam.

Kaedah

  • Gunakan pernyataan "import" untuk mengimport perpustakaan I/O yang diperlukan.

  • Tentukan kelas Java yang dipanggil "Tutorialspoint".

  • Isytihar pembolehubah statik "i" jenis int dan tetapkan nilai 100.

  • Tentukan kaedah main() dengan tandatangan awam, statik, tidak sah dan ambil tatasusunan parameter rentetan bernama "args".

  • Dalam kaedah main(), gunakan kaedah System.out.println() untuk memaparkan nilai pembolehubah statik "i" pada konsol.

  • Simpan kod dalam fail Java bernama "Tutorialspoint.java".

  • Kompilasi kod Java menggunakan pengkompil Java (cth. "javac").

  • Jalankan kod Java menggunakan arahan "java", yang melaksanakan kaedah "utama" dan memaparkan output "Pembolehubah Statik = 100" pada konsol.

Contoh

import java.io.*;

public class Tutorialspoint {

   static int i = 100;

   public static void main(String[] args){
      System.out.println("Static Variable = " + i);
   }
}

Dalam contoh ini, kelas bernama "Tutorialspoint" ditakrifkan dengan pembolehubah statik bernama "i" jenis data integer dan dimulakan dengan nilai 100.

Kaedah utama kelas ini ditakrifkan dengan tandatangan awam, statik, tidak sah dan mengambil tatasusunan parameter rentetan bernama "args".

Dalam kaedah utama, gunakan kaedah System.out.println() untuk mencetak nilai pembolehubah statik "i". Pernyataan keluaran mengandungi rentetan "Pembolehubah Statik=" yang digabungkan dengan nilai pembolehubah statik "i".

Apabila program ini dilaksanakan, ia akan mencetak "Pembolehubah Statik = 100" sebagai output kerana nilai pembolehubah statik "i" ditetapkan kepada 100.

Output

Pembolehubah statik ialah pembolehubah yang tergolong dalam kelas dan bukannya contoh kelas. Ini bermakna semua kejadian kelas berkongsi hanya satu salinan pembolehubah statik. Dalam erti kata lain, pembolehubah statik ialah pembolehubah peringkat kelas yang boleh diakses tanpa mencipta objek kelas.

Static Variable = 100

Kes 2: Mengakses pembolehubah statik melalui kaedah statik

Jika anda mengisytiharkan pembolehubah statik menggunakan pengubah suai akses awam, mana-mana kelas lain boleh mengakses pembolehubah itu, termasuk kelas yang mengandungi kaedah statik. Dalam kes ini, kaedah statik boleh mengakses pembolehubah statik jika ia juga diisytiharkan dengan pengubah akses awam.

Walau bagaimanapun, jika anda mengisytiharkan pembolehubah statik dengan pengubah suai akses peribadi, ia hanya boleh diakses dalam kelas yang sama. Dalam kes ini, kaedah statik tidak boleh mengakses pembolehubah statik, walaupun ia diisytiharkan dengan pengubah suai akses awam.

Dalam kes ini, kami telah mengisytiharkan pembolehubah statik, tatasusunan statik dan kaedah statik dalam kelas. Kaedah statik mengakses kedua-dua pembolehubah statik dan tatasusunan statik, dan tidak perlu membuat contoh kelas apabila memanggil kaedah.

Memandangkan kedua-dua pembolehubah statik dan tatasusunan statik tergolong dalam kelas dan bukan kepada mana-mana contoh kelas tertentu, ia boleh diakses melalui kaedah statik walaupun kaedah itu dipanggil tanpa membuat contoh kelas.

Kaedah

  • Buat fail kelas Java baharu dan namakannya MyClass.java.

  • Dalam fail MyClass.java, isytiharkan pembolehubah integer statik peribadi bernama kiraan dan mulakannya kepada 0.

  • 声明一个名为 myArray 的私有静态整数数组,并使用一些值对其进行初始化,例如 myArray = new int[]{1, 2, 3, 4, 5};

  • 声明一个名为 myStaticMethod() 的公共静态方法,它执行以下操作 -

    • 将 count 的值增加 1。

    • 使用 System.out.println() 将 count 的值打印到控制台。

    • 循环遍历 myArray 数组并使用 System.out.println() 将每个元素打印到控制台。

  • 保存 MyClass.java 文件。

示例

public class MyClass {
   private static int count = 0;
   private static int[] myArray = new int[]{1, 2, 3, 4, 5};
       
   public static void myStaticMethod() {
      count++;

      System.out.println("Count: " + count);
              
      for (int i = 0; i < myArray.length; i++) {
         System.out.println(myArray[i]);
      }
   }
}
  • 创建一个新的 Java 类文件并将其命名为 Main.java。

  • 在 Main.java 文件中,添加 main() 方法。

  • 在 main() 方法中,使用类名称后跟方法名称和括号来调用 MyClass 类的 myStaticMethod() 方法,例如 MyClass.myStaticMethod();。

  • 保存 Main.java 文件。

public class Main {
   public static void main(String[] args) {
      MyClass.myStaticMethod();
   }
}
  • 通过在命令提示符或终端中运行命令 javac MyClass.java Main.java 来编译 MyClass.java 和 Main.java 文件。

  • 通过在命令提示符或终端中运行命令 java Main 来运行程序。

在此示例中,我们有一个 MyClass 类,其中包含静态变量 count 和静态数组 myArray,以及静态方法 myStaticMethod()。 myStaticMethod() 方法将 count 的值加 1,将 count 的值打印到控制台,然后循环遍历 myArray 数组并将每个元素打印到控制台。

输出

在 Main 类中,我们通过使用类名后跟方法名和括号来调用 MyClass 类本身(而不是该类的任何实例)上的 myStaticMethod() 方法。此方法调用将执行 myStaticMethod() 方法并将以下内容输出到控制台 -

Count: 1
1
2
3
4
5

结论

  • 在 Java 中,静态变量和静态方法与类本身相关联,而不是与类的任何特定实例相关联。这意味着静态方法可以直接访问静态变量,只要该变量与该方法在同一个类中定义即可。

Atas ialah kandungan terperinci Program Java untuk menyemak kebolehcapaian kaedah statik kepada pembolehubah statik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam