如何在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","[email protected]","abc123"); u1.displayUserInfo(); System.out.println("Password Matched:"+u1.isPasswordCorrect("abc123")); } }
输出
USER DETAILS =============== Username: Hari Email: [email protected] Password Matched:true
自定义类的优点
模块化和代码组织 - 自定义类允许您将相关数据和功能封装到单个实体中。这促进了代码模块化和组织,使您的代码更易于阅读。
可扩展性 - 自定义类可以扩展和子类化以添加或修改功能。这允许您在现有类上构建,继承其属性和方法,并根据特定需求对其进行自定义。
自定义类的缺点
复杂性增加 - 使用自定义类会增加代码库的复杂性。您需要定义和管理类结构,处理不同类之间的交互,并确保正确的数据流。
开销和内存使用 - 自定义类的每个实例都需要内存分配,这可能会导致内存使用增加,尤其是在处理大量对象时。
结论
在本文中,我们了解了如何在Java中创建自定义类。自定义类广泛用于Java开发,并提供了许多好处,但应有效地设计、使用和维护它们,以最大限度地发挥其优势并最大限度地减少潜在的缺点。
总的来说,自定义类提供了一种组织和构建代码的方法,促进了代码可重用性,并支持Java中的面向对象编程范例。