CodeGym /בלוג Java /Random-HE /מהי מחלקה סטטית ב-Java?
John Squirrels
רָמָה
San Francisco

מהי מחלקה סטטית ב-Java?

פורסם בקבוצה
Java היא שפת תכנות מונחה עצמים, ואובייקטים הם אבני הבניין העיקריות ב-Java. עם זאת, Java מספקת גם את הרעיון של מחלקה סטטית. מחלקה סטטית היא מחלקה שיכולה להכיל רק שיטות סטטיות, משתנים ומחלקות מקוננות. במאמר זה, נחקור מהי מחלקה סטטית, כיצד היא פועלת והטמעתה ב-Java.

מחלקה סטטית בג'אווה

מחלקה סטטית בג'אווה היא מחלקה שלא ניתן ליצור מופע. כלומר, איננו יכולים ליצור אובייקטים של מחלקה סטטית. אנחנו יכולים לגשת לחברים שלה רק באמצעות שם הכיתה עצמו. במילים אחרות, מחלקה סטטית היא מחלקה המכילה רק איברים סטטיים. מחלקות סטטיות משמשות לעתים קרובות כדי לקבץ שיטות שירות קשורות יחד. לדוגמה, מחלקה Math ב-Java היא מחלקה סטטית המספקת פעולות מתמטיות שונות כמו מציאת הערך המקסימלי או המינימלי, פונקציות טריגונומטריות ועוד. אנו יכולים לגשת לשיטות במחלקה Math באמצעות שם המחלקה ואופרטור הנקודה, כך: Math.max(5, 10) .

דוגמא

בואו נסתכל על דוגמה של מחלקה סטטית ב-Java. נניח שאנו רוצים ליצור מחלקה לביצוע פעולות מחרוזת שונות כמו היפוך של מחרוזת, מציאת אורך של מחרוזת ועוד. בדוגמה זו, יצרנו מחלקה סטטית בשם StringUtils , המכילה שתי שיטות סטטיות: reverse ו- length . שיטות אלו לוקחות מחרוזת כארגומנט ומחזירות את המחרוזת ההפוכה ואת אורך המחרוזת, בהתאמה. בשיטה הראשית , יצרנו מחרוזת str והעברנו אותה לשיטות `reverse` ו`length` של המחלקה StringUtils .
public class StringUtils {

    public static String reverse(String str) {
        StringBuilder sb = new StringBuilder(str);
        return sb.reverse().toString();
    }

    public static int length(String str) {
        return str.length();
    }

    public static void main(String[] args) {
        String str = "Hello, World!";

        String reversedStr = StringUtils.reverse(str);
        int strLength = StringUtils.length(str);
        System.out.println(reversedStr);
        System.out.println(strLength);
    }
}
הפלט של התוכנית יהיה:
!dlroW ,olleH 13
בדוגמה המעודכנת הבאה, הוספנו מחלקה מקוננת סטטית בשם Formatter בתוך המחלקה StringUtils . מחלקה מקוננת סטטית זו מכילה גם שיטה סטטית הנקראת פורמט שלוקחת מחרוזת ומחזירה את הגרסה האותיות שלה. בשיטה הראשית , השתמשנו במחלקה המקוננת הסטטית Formatter כדי לעצב את המחרוזת str ולהדפיס אותה למסוף. קראנו גם לשיטות ההיפוך והאורך של המחלקה StringUtils כדי להפוך את המחרוזת ולמצוא את אורכה, בהתאמה .
public class StringUtils {

    // nested Static class
    public static class Formatter {
        public static String format(String str) {
            return str.toUpperCase();
        }
    }

    public static String reverse(String str) {
        StringBuilder sb = new StringBuilder(str);
        return sb.reverse().toString();
    }

    public static int length(String str) {
        return str.length();
    }

    public static void main(String[] args) {
        String str = "Hello, World!";

        // Using static class
        String formattedStr = StringUtils.Formatter.format(str);
        System.out.println(formattedStr);

        String reversedStr = StringUtils.reverse(str);
        int strLength = StringUtils.length(str);
        System.out.println(reversedStr);
        System.out.println(strLength);
    }
}
הפלט של התוכנית יהיה:
שלום עולם! !dlroW ,olleH 13
כפי שאתה יכול לראות, מחלקות סטטיות ב-Java יכולות להכיל גם מחלקות מקוננות סטטיות, בהן ניתן להשתמש כדי לקבץ פונקציונליות קשורה יחד.

סיכום

לסיכום, מחלקה סטטית ב-Java היא מחלקה שיכולה להכיל רק שיטות סטטיות, משתנים ומחלקות מקוננות. אנחנו לא יכולים ליצור אובייקטים של מחלקה סטטית ונוכל לגשת לחברים שלה רק באמצעות שם המחלקה עצמה. מחלקות סטטיות משמשות לעתים קרובות כדי לקבץ שיטות שירות קשורות יחד. בדוגמה למעלה ראינו כיצד ליצור מחלקה סטטית ולהשתמש בה לביצוע פעולות מחרוזות שונות.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION