Junior
რომელი გამოყენებისთვის არის შესაფერის static მოდიფიკატორი?
sobes.tech AI
პასუხი AI-სგან
- კლასის ცვლადები (სტატიკური ველები): მონაცემების შენახვა, რომლებიც საერთოა ყველა კლასის ობიექტისთვის. მაგალითად, შექმნილი ობიექტების გამოთვლელი ან კონსტანტები.
- კლასის მეთოდები (სტატიკური მეთოდები): მოქმედებების შესრულება, რომლებიც არ დამოკიდებულია კონკრეტულ ობიექტზე. მაგალითად, დამხმარე ფუნქციები ან მეთოდები სტატიკური ველების სამუშაოდ.
- სტატიკური ინიციალიზაციის ბლოკები: რთული სტატიკური ველების ინიციალიზაციისთვის კლასის ჩატვირთვისას.
- შენახული სტატიკური კლასები: დაკავშირებული კლასების ლოგიკური ჯგუფირება ან დამხმარე კლასებად გამოყენება გარეგანი ობიექტის მითითების გარეშე.
მაგალითები:
public class MyClass {
// სტატიკური ველი (კონსტანტი)
public static final int MAX_COUNT = 100;
// სტატიკური ველი (ობიექტების გამოთვლელი)
private static int instanceCount = 0;
// სტატიკური ინიციალიზაციის ბლოკი
static {
System.out.println("MyClass ჩაიტვირთა.");
}
public MyClass() {
instanceCount++;
}
// სტატიკური მეთოდი
public static int getInstanceCount() {
return instanceCount;
}
// შიდა სტატიკური კლასი
public static class StaticInnerClass {
public void doSomething() {
System.out.println("სტატიკურ შიდა კლასში.");
}
}
}
შედარების სია სტატიკურ და არასტატიკურ წევრებზე:
| ნიშნული | სტატიკური წევრი | არასტატიკური წევრი |
|---|---|---|
| კავშირი ობიექტთან | მიეკუთვნება კლასს | მიეკუთვნება ობიექტს |
| წვდომა | კლასის სახელით ან ობიექტით | ობიექტის საშუალებით |
| ინიციალიზაცია | კლასის ჩატვირთვისას | ობიექტის შექმნისას |
| მეხსიერება | გამოყოფილი ერთხელ | გამოყოფილი თითოეულ ობიექტისთვის |