Proměnlivých vs Neměnné Java

Proměnlivý vs Neměnné

Proměnlivý vs Neměnné

Rozdíl Mezi Proměnlivých vs Neměnné Java

Proměnlivých objektů pole, které může být změněn, neměnné objekty nemají žádné pole, které může být změněn poté, co je vytvořen objekt. Neměnné objekty jsou objekty, jejichž stav se po jejich vytvoření nemůže změnit. Proměnlivé a neměnné jsou dvě kategorie objektů v Javě. V tomto článku uvidíme rozdíly mezi proměnlivými a neměnnými objekty v Javě. Také uvidíme příklady kódu java ukazující rozdíly mezi proměnnou a neměnnou třídou v Javě.

Hlava na hlavě Srovnání mezi Proměnlivých vs Neměnné Java (Infografiky)

Níže jsou top 6 rozdíly mezi Proměnlivých vs Neměnné Java:

Začněte Svůj Volný Software, Vývoj Kurzu

vývoj Webu, programovací jazyky, Software, testování & ostatní

Proměnlivý vs Neměnné info

Proměnlivý vs Neměnné info

Klíčové Rozdíly mezi Proměnlivých vs Neměnné Java

jsou Následující klíčové rozdíly mezi proměnlivých a neměnné objekty v Javě:

  • Proměnlivé objekty, jsou tyto objekty ve kterém můžeme provádět změny stavu objektu bez vytváření nového objektu. To je proměnlivý objekt, který lze po jeho vytvoření upravit. V případě neměnných objektů při každé změně stavu objektu získáme nový objekt. Při práci s neměnnými objekty nám není dovoleno měnit stav objektu po jeho vytvoření.
  • proměnlivé objekty v obecných případech poskytují metody, pomocí kterých lze měnit obsah objektů, zatímco neměnné objekty neposkytují žádnou metodu pro změnu jejich obsahu.
  • v proměnných Java třídách jsou přítomny getter a setter metody, zatímco v neměnných třídách jsou k dispozici pouze getter metody a ne setter metody.
  • proměnlivé třídy mohou nebo nemusí být bezpečné pro vlákno, zatímco neměnné třídy jsou ve výchozím nastavení bezpečné pro vlákno.
  • příklady proměnných tříd v Javě jsou java.util.Datum, StringBuffer, StringBuilder, atd. zatímco java starší třídy, wrapper třídy, String třída jsou příklady neměnných tříd v Javě.

Proměnlivých vs Neměnné Java Srovnávací Tabulka

Pojďme diskutovat horní porovnání Proměnlivých vs Neměnné Java:

Proměnlivý

Neměnné

Java Proměnlivý objekt lze upravit po jeho vytvoření. Java neměnný objekt nelze po jeho vytvoření změnit.
při změnách existujícího objektu se nevytváří žádný nový objekt. při změně existujícího objektu se vytvoří nový objekt.
poskytuje metody pro změnu obsahu objektu. neposkytuje metody pro změnu obsahu objektu.
metody Getter a setter jsou přítomny v proměnných třídách. jsou přítomny pouze metody getteru a nikoli metody setteru.
proměnlivé třídy mohou nebo nemusí být bezpečné pro vlákna. neměnné třídy jsou ve výchozím nastavení bezpečné pro vlákna.
Některé běžné příklady proměnlivých třídy v javě jsou StringBuffer, StringBuilder, a java.util.Datum. všechny starší třídy, Wrapper třídy, String class jsou běžnými příklady neměnných tříd v Javě.

Proměnlivé a Neměnné Java s Příklady

Proměnlivé a Neměnné Java s Příklady jsou uvedeny níže:

Příklad #1 – Proměnlivý Třídy v jazyce Java

Teď uvidíme, java příklady kódu ukazuje vytvoření proměnlivé a neměnné třídy v javě.

Kód:

package com.edubca.mutabledemo;
public class MutableDemo {
private String studentName;
private int rollNumber;
MutableDemo (String studentName, int rollNumber) {
this.studentName = studentName;
this.rollNumber = rollNumber;
}
public String getStudentName() {
return studentName;
}
// this setter can modify the name
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public int getRollNumber() {
return rollNumber;
}
// this setter can modify roll number
public void setRollNumber(int rollNumber) {
this.rollNumber = rollNumber;
}
public static void main(String args) {
MutableDemo obj = new MutableDemo ("John" , 100);
System.out.println("Original Name is " + obj.getStudentName());
System.out.println("Original Roll Number is " + obj.getRollNumber());
// update the name, and roll number as is mutable
obj.setStudentName("James");
obj.setRollNumber(102);
System.out.println("Modified Name is " + obj.getStudentName());
System.out.println("Modified Roll Number is " + obj.getRollNumber());
}
}

Výstup:

Proměnlivý vs Neměnné Java-1.1

Proměnlivý vs Neměnné Java-1.1

výše uvedený kód ukazuje vytvoření proměnlivé třídy v Javě s gettery a settery.

příklad #2-neměnná třída v Javě

nyní uvidíme, jak můžeme v Javě vytvořit neměnné třídy.

Kód:

package com.edubca.immutabledemo;
public final class ImmutableDemo {
final String studentName;
final int rollNumber;
public ImmutableDemo (String studentName, int rollNumber) {
this.studentName = studentName;
this.rollNumber = rollNumber;
}
public String getStudentName() {
return studentName;
}
public int getRollNumber() {
return rollNumber;
}
public static void main(String args) {
ImmutableDemo obj = new ImmutableDemo ("John" , 100);
// Since no getters are available contents cannot be modified.
// Also as variables are declared final they cannot be modified
System.out.println("Name is " + obj.getStudentName());
System.out.println("Roll Number is " + obj.getRollNumber());
}
}

Výstup:

Proměnlivý vs Neměnné Java-1.2

Proměnlivý vs Neměnné Java-1.2

výše uvedený kód ukazuje vytvoření java neměnné třídy. Při vytváření neměnné třídy je třeba mít na paměti následující body:

  • neměnná třída musí být konečná, protože by neměla být zděděna.
  • všechna pole neměnné třídy by měla být konečná.
  • pokud je nějaký proměnlivý objekt použit jako pole v nezměnitelné třídě, musí být implementováno speciální zacházení, aby se zabránilo modifikaci jeho obsahu.
  • veřejný Konstruktor by měl být přítomen.
  • Getter metody pro všechny proměnné by měly být definovány.
  • metody setteru by neměly být přítomny pro žádné proměnné.

závěr

z výše uvedené diskuse máme jasné pochopení rozdílů mezi proměnnými a neměnnými v Javě. Také jsme viděli příklady java, které ukazují, jak jsou vytvářeny proměnlivé a neměnné třídy. Je důležité si uvědomit, že neměnné třídy jsou ve výchozím nastavení bezpečné pro vlákna, zatímco proměnlivé třídy mohou nebo nemusí být bezpečné pro vlákna.

doporučené články

Toto je průvodce proměnnou vs neměnnou Javou. Zde také diskutujeme o proměnlivých vs neměnných Java klíčových rozdílech s infografikou a srovnávací tabulkou. Můžete se také podívat na následující články se dozvědět více–

  1. Java BufferedReader
  2. StringBuffer Třída v jazyce Java
  3. Java RuntimeException
  4. Java newInstance()
0 Akcie a

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.