Java е една от най-популярните предоставя различни концепции за създаване на приложения и една такава концепция е Mutable And Immutable в Java. Е, тази концепция разчита на извършване на промени в полетата след създаването на обекта и по този начин улеснява програмирането за . И така, в тази статия за изменяеми и неизменяеми в Java ще обсъдя следните теми:
- Какво е променлив обект?
- Какво е неизменяем обект?
- Разлика между променливи и неизменяеми обекти
- Как да създам променлив клас?
- Как да създам неизменяем клас?
- Защо струните са неизменяеми в Java?
Какво е променлив обект?
Обектите, в които можете да променяте полетата и състоянията след създаването на обекта, са известни като Изменяеми обекти. Пример : java.util.Date, StringBuilder и др.
Какво е неизменяем обект?
The обекти в които не можете да промените нищо, след като обектът е създаден, са известни като неизменяеми обекти. Пример : Примитивни обекти в кутия като Integer, Long и др.
Така че, след като вече знаете какво е променливо и неизменяемо в Java, нека продължим напред и да видим разликите между двете.
pl sql урок за разработчици за начинаещи
Разлика между променливи и неизменяеми обекти
Можете да се обърнете към следната таблица за разликите между изменяеми и неизменяеми обекти в Java.
Променлив | Неизменим |
Полетата могат да се променят след създаването на обекта | Полетата не могат да се променят след създаването на обект |
Обикновено предоставя метод за промяна на стойността на полето | Няма метод за промяна на стойността на полето |
Притежава методи Getter и Setter | Има само метод Getter |
Пример: StringBuilder, java.util.Date | Пример: String, примитивни обекти в кутия като Integer, Long и т.н. |
Сега, след като знаете разликите между изменяеми и неизменяеми обекти, нека разгледаме как да ги създадем класове.
Как да създам променлив клас?
За да създадете променлив клас в Java, трябва да се уверите, че са изпълнени следните изисквания:
- Осигурете метод за промяна на стойностите на полето
- Метод Getter и Setter
Обмислете следния код:
пакет edureka пример за публичен клас {частен низ пример за име на курс (низ за име на курс) {this.coursename = coursename} публичен низ getName () {връщане на име на курса} public void setName (низ за име на курс) {this.coursename = coursename} публична статична празнота main (низ [] args) {пример obj = нов пример ('Машинно обучение') System.out.println (obj.getName ()) // актуализираме името, този обект е променлив obj.setName ('Master Learning Masters') System. out.println (obj.getName ())}}
Ще видите следния изход:
Така че сега, когато знаете как да създадете изменяем клас, следващата в тази статия ще разгледаме как да създадем неизменяем клас.
Как да създам неизменяем клас?
За да създадете неизменяем клас в Java, трябва да се уверите, че са изпълнени следните изисквания:
- Класът трябва да бъде деклариран като финал така че да не може да бъде удължен.
- Всички полета трябва да станат частни, така че директният достъп да не е разрешен
- Няма методи за настройка
- Направете всички изменяеми полета окончателни, така че да могат да бъдат зададени само веднъж.
пакет edureka публичен клас exampleimmutable {private final String coursename exampleimmutable (final String coursename) {this.coursename = coursename} public final String getName () {return coursename} public static void main (String [] args) {example obj = new example ( „Машинно обучение“) System.out.println (obj.getName ())}}
Ще видите изхода по-долу:
използване на итератор в java
Добре, така че сега, когато знаете за изменяеми и неизменяеми обекти, нека ви кажа, че низовете са неизменяеми в Java. Сега съм сигурен, че това може да е повдигнало въпрос защо са неизменни низовете в Java. И така, следващото в тази статия, нека разгледаме същото.
Защо струните са неизменяеми в Java?
Java използва концепциите на . Така че, ако разгледате пример, при който имате много референтни променливи, отнасящи се до един обект, тогава дори ако една референтна променлива променя стойността на обект , автоматично ще бъдат засегнати всички останали референтни променливи. Също така според Ефективна Java ,глава 4, страница 73, 2-ро издание, следните са причините да се използват неизменяеми класове:
- Неизменяемите обекти са прости
- Тези обекти не изискват синхронизация и по своята същност са безопасни за нишки
- Неизменяемите обекти правят добри градивни елементи за други обекти
Ако трябва да ви обясня с пример, тогава,
Да кажем, че имате променлива низ от проби , който съхранява низа „ Машинно обучение “. Сега, ако обедините този низ с друг низ ' Господари ', след това обектът, създаден за „ Машинно обучение ”Няма да се промени. Вместо това ще бъде създаден нов обект за „ Магистри за машинно обучение “. Вижте изображението по-долу:
Както можете да видите на горното изображение, низ от проби референтната променлива се отнася до „Машинно обучение“, но не и към другия низ, дори след създаването на два обекта. С това стигаме до края на тази статия за Изменяеми и неизменяеми в Java. Надявам се, че вие сте наясно с всеки един аспект, който съм обсъждал по-горе.
След като разбрахте основите на Java, вижте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен за студенти и професионалисти, които искат да бъдат Java Developer. Курсът е предназначен да ви даде начален старт в програмирането на Java и да ви обучи както за основни, така и за разширени Java концепции, заедно с различни Java рамки като Hibernate & Spring.
Имате въпрос към нас? Моля, споменете го в раздела за коментари на този блог „Изменяеми и неизменяеми в Java“ и ние ще се свържем с вас възможно най-скоро.