如何在Java中建立自定義類?
在Java中,類是面向物件程式設計的基本組成部分。它充當藍圖或模板,用於定義物件的結構和行為。類包含資料(由欄位或變量表示)和行為(由方法或函式表示),這些方法或函式操作該資料。
在Java中,自定義類是使用者定義的類,允許您建立具有特定屬性和行為的物件,這些屬性和行為適合您的應用程式的需求。它充當建立該類型別物件的藍圖或模板。自定義類將相關資料和操作封裝到單個實體中,從而提高程式碼組織、可重用性和可維護性。
要在Java中建立自定義類,您通常需要定義其結構、屬性(也稱為例項變數)和方法(執行操作或提供功能的函式)。
自定義類的關鍵組成部分
類宣告 - 類宣告定義類的名稱和任何訪問修飾符(例如,public、private),這些修飾符控制其可見性。
語法
accessModifier class ClassName
例項變數 - 這些變量表示物件的屬性或特性。它們定義與類的每個例項關聯的狀態或資料。例項變數通常在類級別宣告,但特定於類的每個例項。
語法
accessModifier dataType variableName;
建構函式 - 使用new關鍵字建立物件時,它會自動呼叫,負責設定物件的初始狀態。建構函式與它們所屬的類同名,並且可以接受引數來設定例項變數的初始值。
語法
accessModifier ClassName(parameters) { ... }
方法 - 方法定義可以對類物件執行的行為和操作。它們封裝程式碼,並允許您執行操作或提供功能。方法可以有返回型別(如果它們不返回任何內容,則為void),並且可以接受引數。
語法
accessModifier returnType methodName(parameters) { ... }
訪問修飾符 - 訪問修飾符控制類、變數和方法的可見性和可訪問性。Java中的主要訪問修飾符是public、private和protected。它們決定其他類是否可以訪問或修改類成員。
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中的面向物件程式設計範例。