如何在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中的面向物件程式設計範例。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP