如何在Java中建立自定義類?


在Java中,面向物件程式設計的基本組成部分。它充當藍圖或模板,用於定義物件的結構和行為。類包含資料(由欄位或變量表示)和行為(由方法或函式表示),這些方法或函式操作該資料。

在Java中,自定義類是使用者定義的類,允許您建立具有特定屬性和行為的物件,這些屬性和行為適合您的應用程式的需求。它充當建立該類型別物件的藍圖或模板。自定義類將相關資料和操作封裝到單個實體中,從而提高程式碼組織、可重用性和可維護性。

要在Java中建立自定義類,您通常需要定義其結構、屬性(也稱為例項變數)和方法(執行操作或提供功能的函式)。

自定義類的關鍵組成部分

  • 類宣告 - 類宣告定義類的名稱和任何訪問修飾符(例如,public、private),這些修飾符控制其可見性。

語法

accessModifier class ClassName
  • 例項變數 - 這些變量表示物件的屬性或特性。它們定義與類的每個例項關聯的狀態或資料。例項變數通常在類級別宣告,但特定於類的每個例項。

語法

accessModifier dataType variableName;
  • 建構函式 - 使用new關鍵字建立物件時,它會自動呼叫,負責設定物件的初始狀態。建構函式與它們所屬的類同名,並且可以接受引數來設定例項變數的初始值。

語法

accessModifier ClassName(parameters) { ... }
  • 方法 - 方法定義可以對類物件執行的行為和操作。它們封裝程式碼,並允許您執行操作或提供功能。方法可以有返回型別(如果它們不返回任何內容,則為void),並且可以接受引數。

語法

accessModifier returnType methodName(parameters) { ... }
  • 訪問修飾符 - 訪問修飾符控制類、變數和方法的可見性和可訪問性。Java中的主要訪問修飾符是public、privateprotected。它們決定其他類是否可以訪問或修改類成員。

  • Getter和Setter - Getter和Setter是用於訪問和修改私有例項變數的特殊方法。

示例1

以下程式演示了Java中的自定義類

//Java program that demonstrates about creation of custom class in java
class StudentReport {
   private String student_name;
   private int student_age;
   private double marksObtained;
   private char student_grade;
 
   public StudentReport(String name, int age, double marks) {
      this.student_name = name;
      this.student_age = age;
      this.marksObtained = marks;
   }
 
   public void calculateGrade() {
      if (marksObtained >= 90) {
         student_grade = 'A';
      } else if (marksObtained >= 80) {
         student_grade = 'B';
      } else if (marksObtained >= 70) {
         student_grade = 'C';
      } else if (marksObtained >= 60) {
         student_grade = 'D';
      } else {
         student_grade = 'F';
      }
   }
 
   public void displayInfo() {
      System.out.println("Name: " + student_name);
      System.out.println("Age: " + student_age);
      System.out.println("Marks: " + marksObtained);
      System.out.println("Grade: " + student_grade);
   }
}
 
public class Testing {
 
   public static void main(String args[]){
      System.out.println("STUDENT DETAILS");
      System.out.println("===============\n");
      StudentReport s1=new StudentReport("Hari",21,90);
      s1.calculateGrade();
      s1.displayInfo();
      System.out.println();
      StudentReport s2=new StudentReport("Syam",20,92);
      s2.calculateGrade();
      s2.displayInfo();
   }
}

輸出

STUDENT DETAILS
===============
Name: Hari
Age: 21
Marks: 90.0
Grade: A

Name: Syam
Age: 20
Marks: 92.0
Grade: A

示例2

以下程式演示了Java中的自定義類

class UserDetails {
   private String userName;
   private String userEmail;
   private String userPwd;

   public UserDetails(String username, String email, String password) {
      this.userName = username;
      this.userEmail = email;
      this.userPwd = password;
   }

   public void displayUserInfo() {
      System.out.println("Username: " + userName);
      System.out.println("Email: " + userEmail);
   }

   //this function checks whether password
   //that is same with the one's that is passed during user object   creation
   public boolean isPasswordCorrect(String inputPassword) {
      return userPwd.equals(inputPassword);
   }
}

public class Testing {

   public static void main(String args[]){
      System.out.println("USER DETAILS");
      System.out.println("===============\n");
      UserDetails u1=new UserDetails("Hari","abc@gmail.com","abc123");
      u1.displayUserInfo();
      System.out.println("Password Matched:"+u1.isPasswordCorrect("abc123"));
   }
}

輸出

USER DETAILS
===============
Username: Hari
Email: abc@gmail.com
Password Matched:true

自定義類的優點

  • 模組化和程式碼組織 - 自定義類允許您將相關資料和功能封裝到單個實體中。這促進了程式碼模組化和組織,使您的程式碼更易於閱讀。

  • 可擴充套件性 - 自定義類可以擴充套件和子類化以新增或修改功能。這允許您在現有類上構建,繼承其屬性和方法,並根據特定需求對其進行自定義。

自定義類的缺點

  • 複雜性增加 - 使用自定義類會增加程式碼庫的複雜性。您需要定義和管理類結構,處理不同類之間的互動,並確保正確的資料流。

  • 開銷和記憶體使用 - 自定義類的每個例項都需要記憶體分配,這可能會導致記憶體使用增加,尤其是在處理大量物件時。

結論

在本文中,我們瞭解瞭如何在Java中建立自定義類。自定義類廣泛用於Java開發,並提供了許多好處,但應有效地設計、使用和維護它們,以最大限度地發揮其優勢並最大限度地減少潛在的缺點。

總的來說,自定義類提供了一種組織構建程式碼的方法,促進了程式碼可重用性,並支援Java中的面向物件程式設計範例。

更新於:2023年10月16日

755 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告