Junior
Java-ში final და finalize საკვანძო სიტყვები რა არის და რა განსხვავებები აქვთ?
sobes.tech AI
პასუხი AI-სგან
Java-ში, final და finalize განსხვავებული კონცეფციებია და სხვადასხვა მიზნებისთვის გამოიყენება:
finalარის საკვანძო სიტყვა, რომელიც გამოიყენება:- კონსტანტების (ცვლადების, რომლებიც ვერ იცვლება ინიციალიზაციის შემდეგ) დასახელებისთვის.
- მეთოდების, რომლებიც არ შეიძლება გადაწერილ იქნას ქვესინფებში.
- კლასების, რომლებიც არ შეიძლება მემკვიდრეობით მიიღოს.
მაგალითი:
final int x = 10; // x ვერ იცვლება
final class MyClass {} // კლასი ვერ მემკვიდრეობით მიიღება
final void myMethod() {} // მეთოდი ვერ გადაწერილ იქნას
finalize()არის მეთოდი კლასიObject-ის, რომელიც გამოიძახება გარბიჯის კრეფის მიერ ობიექტის მეხსიერებიდან წაშლამდე. ის განკუთვნილია რესურსების გათავისუფლებისთვის, მაგრამ მისი გამოყენება არ არის რეკომენდებული, რადგან მისი გამოძახება არ არის გარანტირებული და შეიძლება გამოიწვიოს გაურკვეველი ქცევა.
მაგალითი:
@Override
protected void finalize() throws Throwable {
// რესურსების გათავისუფლება
super.finalize();
}
განსხვავებები:
finalარის საკვანძო სიტყვა კოდის ცვლილების კონტროლისთვის.finalizeარის მეთოდი, რომელიც გამოიყენება ნაგვის შეგროვებამდე სისუფთავის დასადგენად, და არის მოძველებული და არ არის რეკომენდებული გამოყენებისთვის.