Давайте будем честными — когда мы впервые сталкиваемся со статическим ключевым словом, мы все думаем: "Что это за волшебство?" ? Но не волнуйтесь, я здесь, чтобы рассказать об этом просто, глубоко и, возможно, даже немного весело!
Представьте, что вы на вечеринке?. Вы и все ваши друзья носите шляпы. Но есть только одна шляпа, которую каждый должен разделить. По сути, это то, что делает ключевое слово static в Java! Вместо того, чтобы создавать шляпу для каждого друга (что может привести к беспорядку), у вас есть одна шляпа, принадлежащая группе — классу — и все вы можете носить ее по очереди.
Теперь, когда мы имеем в виду эту картину, давайте углубимся в то, что на самом деле делает static в Java.
Проще говоря, когда вы используете ключевое слово static в Java, вы говорите: «Эй, вот эта штука принадлежит самому классу, а не какому-то конкретному объекту этого класса».
Это означает:
Статическая переменная похожа на шляпу, которую разделяют все. Если вы поменяете шляпу (например, воткнете в нее перо), все увидят изменение.
class Party { static int numberOfGuests = 0; // static variable Party() { numberOfGuests ; // Increment the guest count every time someone joins the party } } public class Main { public static void main(String[] args) { Party guest1 = new Party(); Party guest2 = new Party(); Party guest3 = new Party(); System.out.println(Party.numberOfGuests); // Output: 3 ? } }
В этом примере все гости имеют общую переменную NumberOfGuests. Каждый новый гость не имеет собственного подсчета гостей (представьте себе хаос!). Вместо этого все обновляют один и тот же счетчик. Теперь, независимо от того, сколько гостей прибудет, останется только одно число гостей, и оно принадлежит классу «Вечеринка», а не какому-либо отдельному гостю.
Статические методы подобны доставщикам пиццы на вечеринке: вы можете позвонить им, и они появятся без приглашения (объекта). Независимо от того, сколько у вас вечеринок, один и тот же разносчик пиццы доставляет им всем пиццу? Вы просто звоните в пиццерию (класс), и они появляются!
class PizzaShop { static void deliverPizza() { System.out.println("Pizza delivered! ?"); } } public class Main { public static void main(String[] args) { PizzaShop.deliverPizza(); // No need to create a PizzaShop object } }
В приведенном выше примере вам не нужно было создавать объект PizzaShop, чтобы получить пиццу. Вы вызвали метод непосредственно из класса. Зачем вам открывать магазин каждый раз, когда вы голодны?
Перед началом вечеринки диджей проверяет звук, верно? Это что-то вроде статического блока. Он запускается один раз, прежде чем произойдет что-либо еще, чтобы убедиться, что все на месте.
class Party { static String music; // Static block to set up the DJ's playlist ? static { music = "Let's Dance by David Bowie"; System.out.println("Music is set up: " music); } } public class Main { public static void main(String[] args) { System.out.println("Party is starting with: " Party.music); } }
Статический блок выполняется до начала любой вечеринки. Музыка настроена заранее, поэтому, когда приходят гости, они уже веселятся?.
Статические вложенные классы похожи на VIP-секцию на вечеринке. Они присутствуют внутри основного события, но они независимы — вам не нужно создавать группу, чтобы получить доступ к VIP-разделу.
class Party { static class VIPArea { void exclusiveService() { System.out.println("Welcome to the VIP area! ?"); } } } public class Main { public static void main(String[] args) { Party.VIPArea vip = new Party.VIPArea(); // No need for a Party object vip.exclusiveService(); // Output: Welcome to the VIP area! ? } }
Несмотря на то, что VIP-зона является частью вечеринки, вам не нужна полноценная группа, чтобы ею пользоваться. Он стоит особняком — что-то вроде прохладного, тихого VIP-зала внутри бурного мероприятия.
Теперь вы можете подумать: «Это круто и все такое, но когда мне действительно следует использовать статику?» Ну, вот шпаргалка:
Ладно, пора заглянуть за кулисы. Вот как происходит волшебство:
Это похоже на накрытие закусочного стола перед приходом гостей. Вам не нужно просить каждого гостя принести свою еду — они просто берут с собой общие закуски ?.
Как и большинство вещей, слишком много статики может быть плохо. Вот несколько предупреждений:
Ключевое слово static в Java похоже на диджея, разносчика пиццы и VIP-зал на вечеринке: оно делает все более плавным, эффективным и доступным для всех гостей. Независимо от того, имеете ли вы дело со служебными методами, общими данными или просто хотите сэкономить память, статика — ваш друг.
Но помните: не превращайте все в статическую и общедоступную игру! Используйте его с умом, и ваш код будет чистым, эффективным и свободным от хаоса ?.
Вот и все! Теперь вы готовы отказаться от статических знаний, как профессионал?.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3