Java jest jedną z najpopularniejszych zawiera różne koncepcje tworzenia aplikacji, a jedną z takich koncepcji jest Mutable and Immutable in Java. Cóż, ta koncepcja polega na wprowadzaniu zmian w polach po utworzeniu obiektu, a tym samym ułatwia programowanie . Tak więc w tym artykule na temat zmienności i niezmienności w Javie omówię następujące tematy:
- Co to jest obiekt zmienny?
- Co to jest niezmienny obiekt?
- Różnica między obiektami zmiennymi i niezmiennymi
- Jak stworzyć Mutable Class?
- Jak stworzyć niezmienną klasę?
- Dlaczego ciągi znaków są niezmienne w Javie?
Co to jest obiekt zmienny?
to string w java
Obiekty, w których można zmieniać pola i stany po utworzeniu obiektu, nazywane są obiektami modyfikowalnymi. Przykład : java.util.Date, StringBuilder itp.
Co to jest niezmienny obiekt?
Plik obiekty w których nie można niczego zmienić po utworzeniu obiektu, nazywane są obiektami niezmiennymi. Przykład : Prymitywne obiekty w pudełku, takie jak liczba całkowita, długość itp.
Więc teraz, gdy już wiesz, co jest zmienne i niezmienne w Javie, przejdźmy do przodu i zobaczmy różnice między nimi.
Różnica między obiektami zmiennymi i niezmiennymi
W poniższej tabeli można znaleźć różnice między obiektami zmiennymi i niezmiennymi w języku Java.
Zmienny | Niezmienny |
Pola można zmieniać po utworzeniu obiektu | Pól nie można zmieniać po utworzeniu obiektu |
Zwykle udostępnia metodę modyfikowania wartości pola | Nie ma żadnej metody modyfikowania wartości pola |
Posiada metody Getter i Setter | Ma tylko metodę Getter |
Przykład: StringBuilder, java.util.Date | Przykład: ciąg, obiekty prymitywne w pudełku, takie jak liczba całkowita, długość itp |
Teraz, gdy znasz już różnice między obiektami zmiennymi i niezmiennymi, przyjrzyjmy się, jak je utworzyć zajęcia.
Jak stworzyć Mutable Class?
Aby utworzyć zmienną klasę w Javie, musisz upewnić się, że spełnione są następujące wymagania:
- Podaj metodę aby zmodyfikować wartości pól
- Metoda Getter and Setter
Rozważ następujący kod:
przykład klasy publicznej pakietu edureka {private String coursename example (String coursename) {this.coursename = coursename} public String getName () {return coursename} public void setName (String coursename) {this.coursename = coursename} public static void main (String [] args) {example obj = new example ('Machine Learning') System.out.println (obj.getName ()) // zaktualizuj nazwę, ten obiekt jest zmienny obj.setName ('Machine Learning Masters') System. out.println (obj.getName ())}}
Zobaczysz następujące dane wyjściowe:
Teraz, gdy już wiesz, jak utworzyć zmienną klasę, w następnej części tego artykułu przyjrzyjmy się, jak utworzyć niezmienną klasę.
java do potęgi
Jak stworzyć niezmienną klasę?
Aby utworzyć niezmienną klasę w Javie, musisz upewnić się, że spełnione są następujące wymagania:
- Klasę należy zadeklarować jako finał więc nie można go przedłużyć.
- Wszystkie pola powinny być ustawione jako prywatne, aby nie był możliwy bezpośredni dostęp
- Brak metod ustawiających
- Spraw, aby wszystkie zmienne pola były ostateczne, aby można je było przypisać tylko raz.
pakiet publiczna klasa 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 ( 'Machine Learning') System.out.println (obj.getName ())}}
Zobaczysz poniższe dane wyjściowe:
W porządku, więc teraz, gdy już wiesz o obiektach zmiennych i niezmiennych, powiem ci, że ciągi znaków są niezmienne w Javie. Teraz jestem pewien, że mogło to wywołać pytanie, dlaczego ciągi znaków są niezmienne w Javie. Spójrzmy więc w następnym artykule na to samo.
Dlaczego ciągi znaków są niezmienne w Javie?
Java wykorzystuje koncepcje . Jeśli więc weźmiesz pod uwagę przykład, w którym masz wiele zmiennych referencyjnych odnoszących się do pojedynczego obiektu, to nawet jeśli jedna zmienna referencyjna zmienia wartość zmiennej obiekt , automatycznie wpłynie to na wszystkie inne zmienne odniesienia. Również według Efektywna Java ,rozdział 4, strona 73, wydanie 2, następujące powody do stosowania klas niezmiennych:
- Niezmienne obiekty są proste
- Te obiekty nie wymagają synchronizacji i są z natury bezpieczne dla wątków
- Niezmienne obiekty są dobrymi cegiełkami dla innych obiektów
Jeśli mam ci wyjaśnić na przykładzie, to
Powiedzmy, że masz zmienną samplestring , który przechowuje ciąg „ Nauczanie maszynowe „. Teraz, jeśli połączysz ten ciąg z innym ciągiem ' Mistrzowie ', następnie obiekt utworzony dla „ Nauczanie maszynowe ' nie zmieni się. Zamiast tego zostanie utworzony nowy obiekt dla „ Mistrzowie uczenia maszynowego „. Zobacz poniższy obraz:
Administrator Hadoop vs programista Hadoop
Jak widać na powyższym obrazku, plik samplestring zmienna referencyjna odnosi się do „uczenia maszynowego”, ale nie do drugiego ciągu, nawet po utworzeniu dwóch obiektów. Na tym kończymy ten artykuł o modyfikowalnych i niezmiennych w Javie. Mam nadzieję, że macie jasność co do każdego aspektu, który omówiłem powyżej.
Teraz, gdy znasz już podstawy języka Java, zapoznaj się z autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie i certyfikacja J2EE i SOA firmy Edureka jest przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistą Java. Kurs ma na celu zapewnienie przewagi w programowaniu w języku Java i przeszkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy tego bloga „Zmienne i niezmienne w Javie”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.