Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤和異常

Java 多執行緒

Java 同步

Java 網路程式設計

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階Java

Java 其他

Java APIs和框架

Java 類引用

Java 有用資源

Java - 類方法



Java 類方法

類方法是在中宣告的方法。它們執行特定的操作,可以訪問和修改類屬性

建立(宣告)Java類方法

類方法的宣告類似於使用者定義的方法宣告,只是類方法是在類中宣告的。

類方法的宣告透過指定訪問修飾符返回型別方法名引數列表來實現。

語法

使用以下語法宣告Java類方法:

public class class_name {
  modifier returnType nameOfMethod(Parameter List) {
    // method body
  }
}

上述語法包括:

  • 修飾符 - 定義方法的訪問型別,使用可選。

  • 返回型別 - 類方法的返回資料型別

  • 方法名 - 這是方法的名稱。方法簽名由方法名稱和引數列表組成。

  • 引數列表 - 引數列表,包括方法的引數型別、順序和數量。這些是可選的,方法可以包含零個引數。

  • 方法體 - 方法體定義方法使用語句執行的操作。

示例

以下是上面定義的名為minimum()方法的原始碼。此方法採用兩個引數n1n2,並返回兩者之間的最小值:

class Util {
  /** the snippet returns the minimum between two numbers */
  public int minimum(int n1, int n2) {
    int min;
    if (n1 > n2)
      min = n2;
    else
      min = n1;

    return min;
  }
}

訪問Java類方法

要訪問類方法(公共類方法),您需要首先建立一個物件,然後使用該物件(藉助點(.)運算子)訪問類方法。

語法

使用以下語法訪問Java公共類方法:

object_name.method_name([parameters]);

示例

下面的示例演示如何定義類方法以及如何訪問它。在這裡,我們建立了一個Util類的物件,並呼叫其minimum()方法以獲取給定兩個數字的最小值:

package com.tutorialspoint;

class Util {
   public int minimum(int n1, int n2) {
      int min;
      if (n1 > n2)
         min = n2;
      else
         min = n1;

      return min; 
   }
}
public class Tester {
   
   public static void main(String[] args) {
      int a = 11;
      int b = 6;

      Util util = new Util();
	  
      int c = util.minimum(a, b);
      System.out.println("Minimum Value = " + c);
   }
}

輸出

Minimum value = 6

Java類方法中的this關鍵字

this是Java中的一個關鍵字,用作當前類物件的引用,位於例項方法或建構函式內。使用this,您可以引用類的成員,例如建構函式、變數和方法。

注意 - this關鍵字僅在例項方法或建構函式中使用。

通常,this關鍵字用於:

  • 在建構函式或方法中,區分例項變數與區域性變數(如果它們具有相同的名稱)。

class Student {
   int age;   
   Student(int age) {
      this.age = age;	
   }
}
  • 在一個類中從另一個建構函式(引數化建構函式或預設建構函式)呼叫一種型別的建構函式。這被稱為顯式建構函式呼叫。

class Student {
   int age
   Student() {
      this(20);
   }
   
   Student(int age) {
      this.age = age;	
   }
}

示例:在Java類方法中使用this關鍵字

這是一個使用this關鍵字訪問類成員的示例。將以下程式複製並貼上到名為Tester.java的檔案中。

package com.tutorialspoint;

public class Tester {
   // Instance variable num
   int num = 10;
	
   Tester() {
      System.out.println("This is an example program on keyword this");	
   }

   Tester(int num) {
      // Invoking the default constructor
      this();
      
      // Assigning the local variable num to the instance variable num
      this.num = num;	   
   }
   
   public void greet() {
      System.out.println("Hi Welcome to Tutorialspoint");
   }
      
   public void print() {
      // Local variable num
      int num = 20;
      
      // Printing the local variable
      System.out.println("value of local variable num is : "+num);
      
      // Printing the instance variable
      System.out.println("value of instance variable num is : "+this.num);
      
      // Invoking the greet method of a class
      this.greet();     
   }
   
   public static void main(String[] args) {
      // Instantiating the class
      Tester obj1 = new Tester();
      
      // Invoking the print method
      obj1.print();
	  
      // Passing a new value to the num variable through parametrized constructor
      Tester obj2 = new Tester(30);
      
      // Invoking the print method again
      obj2.print(); 
   }
}

輸出

This is an example program on keyword this 
value of local variable num is : 20
value of instance variable num is : 10
Hi Welcome to Tutorialspoint
This is an example program on keyword this 
value of local variable num is : 20
value of instance variable num is : 30
Hi Welcome to Tutorialspoint

公共類方法與靜態類方法

類方法有兩種型別:公共類方法和靜態類方法。公共類方法透過物件訪問,而靜態類方法無需物件即可訪問。您可以直接訪問靜態方法。

示例

下面的例子演示了公共類方法和靜態類方法的區別

public class Main {
  // Creating a static method
  static void fun1() {
    System.out.println("fun1: This is a static method.");
  }

  // Creating a public method
  public void fun2() {
    System.out.println("fun2: This is a public method.");
  }

  // The main() method
  public static void main(String[] args) {
    // Accessing static method through the class
    fun1();

    // Creating an object of the Main class
    Main obj = new Main();
    // Accessing public method through the object
    obj.fun2();
  }
}

輸出

fun1: This is a static method.
fun2: This is a public method.

finalize() 方法

可以定義一個方法,在垃圾回收器最終銷燬物件之前呼叫該方法。此方法稱為finalize(),可用於確保物件乾淨地終止。

例如,您可以使用 finalize() 來確保關閉該物件擁有的開啟檔案。

要向類新增終結器,只需定義 finalize() 方法即可。Java 執行時會在即將回收該類物件時呼叫該方法。

在 finalize() 方法中,您將指定在銷燬物件之前必須執行的操作。

finalize() 方法具有以下一般形式:

protected void finalize( ) {
   // finalization code here
}

這裡,關鍵字 protected 是一個說明符,它防止其類外部定義的程式碼訪問 finalize()。

這意味著您無法知道何時甚至是否會執行 finalize()。例如,如果您的程式在垃圾收集發生之前結束,則不會執行 finalize()。

廣告