logo

Objekty a třídy v Javě

  1. Objekt v Javě
  2. Třída v Javě
  3. Proměnná instance v Javě
  4. Metoda v Javě
  5. Příklad objektu a třídy, která vede záznamy o studentovi
  6. Anonymní objekt

Na této stránce se seznámíme s objekty a třídami Java. V technice objektově orientovaného programování navrhujeme program pomocí objektů a tříd.

Objekt v Javě je fyzická i logická entita, zatímco třída v Javě je pouze logická entita.

Co je objekt v Javě

objekt v Javě

Entita, která má stav a chování, je známá jako objekt, např. židle, kolo, fix, pero, stůl, auto atd. Může být fyzická nebo logická (hmotná a nehmotná). Příkladem nehmotného předmětu je bankovní systém.

Objekt má tři vlastnosti:

    Stát:představuje data (hodnotu) objektu.Chování:představuje chování (funkčnost) předmětu jako je vklad, výběr atd.Identita:Identita objektu je obvykle implementována prostřednictvím jedinečného ID. Hodnota ID není viditelná pro externího uživatele. JVM jej však používá interně k jedinečné identifikaci každého objektu.
Charakteristika objektu v Javě

Například pero je objekt. Jmenuje se Reynolds; barva je bílá, známá jako její stav. Používá se k psaní, takže psaní je jeho chování.

Objekt je instancí třídy. Třída je šablona nebo plán, ze kterého se vytvářejí objekty. Objekt je tedy instancí (výsledkem) třídy.

Definice objektů:

  • Objekt je entita reálného světa .
  • Objekt je runtime entita .
  • Objekt je entita, která má stav a chování .
  • Objekt je instance třídy .

Co je třída v Javě

Třída je skupina objektů, které mají společné vlastnosti. Je to šablona nebo plán, ze kterého se vytvářejí objekty. Je to logická entita. Nemůže to být fyzické.

Třída v Javě může obsahovat:

    Pole Metody Konstruktéři Bloky Vnořená třída a rozhraní
Třída v Javě

Syntaxe pro deklaraci třídy:

 class { field; method; } 

Proměnná instance v Javě

Proměnná, která je vytvořena uvnitř třídy, ale mimo metodu, je známá jako proměnná instance. Proměnná instance nezíská paměť v době kompilace. Získává paměť za běhu, když je vytvořen objekt nebo instance. Proto je známá jako proměnná instance.


Metoda v Javě

V Javě je metoda jako funkce, která se používá k odhalení chování objektu.

Výhoda metody

  • Znovupoužitelnost kódu
  • Optimalizace kódu

nové klíčové slovo v Javě

Nové klíčové slovo se používá k alokaci paměti za běhu. Všechny objekty získávají paměť v oblasti paměti haldy.


Příklad objektu a třídy: hlavní v rámci třídy

V tomto příkladu jsme vytvořili třídu Student, která má dva datové členy id a name. Vytváříme objekt třídy Student pomocí nového klíčového slova a tiskneme hodnotu objektu.

Zde vytváříme metodu main() uvnitř třídy.

Soubor: Student.java

 //Java Program to illustrate how to define a class and fields //Defining a Student class. class Student{ //defining fields int id;//field or data member or instance variable String name; //creating main method inside the Student class public static void main(String args[]){ //Creating an object or instance Student s1=new Student();//creating an object of Student //Printing values of the object System.out.println(s1.id);//accessing member through reference variable System.out.println(s1.name); } } 
Otestujte to hned

Výstup:

 0 null 

Příklad objektu a třídy: hlavní mimo třídu

Při vývoji v reálném čase vytváříme třídy a používáme je z jiné třídy. Je to lepší přístup než ten předchozí. Podívejme se na jednoduchý příklad, kde máme metodu main() v jiné třídě.

npm clean cache force

Můžeme mít více tříd v různých souborech Java nebo v jednom souboru Java. Pokud definujete více tříd v jednom zdrojovém souboru Java, je dobré uložit název souboru s názvem třídy, který má metodu main().

Soubor: TestStudent1.java

 //Java Program to demonstrate having the main method in //another class //Creating Student class. class Student{ int id; String name; } //Creating another class TestStudent1 which contains the main method class TestStudent1{ public static void main(String args[]){ Student s1=new Student(); System.out.println(s1.id); System.out.println(s1.name); } } 
Otestujte to hned

Výstup:

 0 null 

3 způsoby inicializace objektu

Existují 3 způsoby, jak inicializovat objekt v Javě.

  1. Podle referenční proměnné
  2. Podle metody
  3. Podle konstruktéra

1) Příklad objektu a třídy: Inicializace pomocí odkazu

Inicializace objektu znamená uložení dat do objektu. Podívejme se na jednoduchý příklad, kdy budeme inicializovat objekt prostřednictvím referenční proměnné.

Soubor: TestStudent2.java

 class Student{ int id; String name; } class TestStudent2{ public static void main(String args[]){ Student s1=new Student(); s1.id=101; s1.name='Sonoo'; System.out.println(s1.id+' '+s1.name);//printing members with a white space } } 
Otestujte to hned

Výstup:

 101 Sonoo 

Můžeme také vytvořit více objektů a ukládat do nich informace prostřednictvím referenční proměnné.

Soubor: TestStudent3.java

 class Student{ int id; String name; } class TestStudent3{ public static void main(String args[]){ //Creating objects Student s1=new Student(); Student s2=new Student(); //Initializing objects s1.id=101; s1.name='Sonoo'; s2.id=102; s2.name='Amit'; //Printing data System.out.println(s1.id+' '+s1.name); System.out.println(s2.id+' '+s2.name); } } 
Otestujte to hned

Výstup:

 101 Sonoo 102 Amit 

2) Příklad objektu a třídy: Inicializace pomocí metody

V tomto příkladu vytváříme dva objekty třídy Student a inicializujeme hodnotu pro tyto objekty vyvoláním metody insertRecord. Zde zobrazujeme stav (data) objektů vyvoláním metody displayInformation().

Soubor: TestStudent4.java

 class Student{ int rollno; String name; void insertRecord(int r, String n){ rollno=r; name=n; } void displayInformation(){System.out.println(rollno+' '+name);} } class TestStudent4{ public static void main(String args[]){ Student s1=new Student(); Student s2=new Student(); s1.insertRecord(111,'Karan'); s2.insertRecord(222,'Aryan'); s1.displayInformation(); s2.displayInformation(); } } 
Otestujte to hned

Výstup:

 111 Karan 222 Aryan 
Objekt v Javě s hodnotami

Jak můžete vidět na obrázku výše, objekt získává paměť v oblasti paměti haldy. Referenční proměnná odkazuje na objekt přidělený v oblasti paměti haldy. Zde jsou s1 a s2 obě referenční proměnné, které odkazují na objekty alokované v paměti.


3) Příklad objektu a třídy: Inicializace pomocí konstruktoru

O konstruktorech v Javě se dozvíme později.


Příklad objektu a třídy: Zaměstnanec

Podívejme se na příklad, kde vedeme záznamy o zaměstnancích.

Soubor: TestEmployee.java

 class Employee{ int id; String name; float salary; void insert(int i, String n, float s) { id=i; name=n; salary=s; } void display(){System.out.println(id+' '+name+' '+salary);} } public class TestEmployee { public static void main(String[] args) { Employee e1=new Employee(); Employee e2=new Employee(); Employee e3=new Employee(); e1.insert(101,'ajeet',45000); e2.insert(102,'irfan',25000); e3.insert(103,'nakul',55000); e1.display(); e2.display(); e3.display(); } } 
Otestujte to hned

Výstup:

 101 ajeet 45000.0 102 irfan 25000.0 103 nakul 55000.0 

Příklad objektu a třídy: Obdélník

Je uveden další příklad, který udržuje záznamy třídy Rectangle.

Soubor: TestRectangle1.java

 class Rectangle{ int length; int width; void insert(int l, int w){ length=l; width=w; } void calculateArea(){System.out.println(length*width);} } class TestRectangle1{ public static void main(String args[]){ Rectangle r1=new Rectangle(); Rectangle r2=new Rectangle(); r1.insert(11,5); r2.insert(3,15); r1.calculateArea(); r2.calculateArea(); } } 
Otestujte to hned

Výstup:

 55 45 

Jaké jsou různé způsoby vytvoření objektu v Javě?

Existuje mnoho způsobů, jak vytvořit objekt v jazyce Java. Oni jsou:

  • Podle nového klíčového slova
  • Metodou newInstance().
  • Metodou clone().
  • Deserializací
  • Tovární metodou atd.

Tyto způsoby vytváření objektů se naučíme později.

Různé způsoby, jak vytvořit objekt v Javě

Anonymní objekt

Anonymní znamená jednoduše bezejmenný. Objekt, který nemá žádnou referenci, se nazývá anonymní objekt. Lze jej použít pouze v době vytváření objektu.

Pokud musíte objekt použít pouze jednou, anonymní objekt je dobrý přístup. Například:

 new Calculation();//anonymous object 

Metoda volání přes odkaz:

 Calculation c=new Calculation(); c.fact(5); 

Volání metody prostřednictvím anonymního objektu

ostrov java
 new Calculation().fact(5); 

Podívejme se na úplný příklad anonymního objektu v Javě.

 class Calculation{ void fact(int n){ int fact=1; for(int i=1;i<=n;i++){ fact="fact*i;" } system.out.println('factorial is '+fact); public static void main(string args[]){ new calculation().fact(5); calling method with anonymous object < pre> <p>Output:</p> <pre> Factorial is 120 </pre> <a id="objectbyonetype"></a> <h3>Creating multiple objects by one type only</h3> <p>We can create multiple objects by one type only as we do in case of primitives.</p> <p>Initialization of primitive variables:</p> <pre> int a=10, b=20; </pre> <p>Initialization of refernce variables:</p> <pre> Rectangle r1=new Rectangle(), r2=new Rectangle();//creating two objects </pre> <p>Let&apos;s see the example:</p> <pre> //Java Program to illustrate the use of Rectangle class which //has length and width data members class Rectangle{ int length; int width; void insert(int l,int w){ length=l; width=w; } void calculateArea(){System.out.println(length*width);} } class TestRectangle2{ public static void main(String args[]){ Rectangle r1=new Rectangle(),r2=new Rectangle();//creating two objects r1.insert(11,5); r2.insert(3,15); r1.calculateArea(); r2.calculateArea(); } } </pre> <span> Test it Now </span> <p>Output:</p> <pre> 55 45 </pre> <h3>Real World Example: Account</h3> <p>File: TestAccount.java</p> <pre> //Java Program to demonstrate the working of a banking-system //where we deposit and withdraw amount from our account. //Creating an Account class which has deposit() and withdraw() methods class Account{ int acc_no; String name; float amount; //Method to initialize object void insert(int a,String n,float amt){ acc_no=a; name=n; amount=amt; } //deposit method void deposit(float amt){ amount=amount+amt; System.out.println(amt+&apos; deposited&apos;); } //withdraw method void withdraw(float amt){ if(amount <amt){ system.out.println('insufficient balance'); }else{ amount="amount-amt;" system.out.println(amt+' withdrawn'); } method to check the balance of account void checkbalance(){system.out.println('balance is: '+amount);} display values an object display(){system.out.println(acc_no+' '+name+' creating a test class deposit and withdraw testaccount{ public static main(string[] args){ a1="new" account(); a1.insert(832345,'ankit',1000); a1.display(); a1.checkbalance(); a1.deposit(40000); a1.withdraw(15000); }} < pre> <span> Test it Now </span> <p>Output:</p> <pre> 832345 Ankit 1000.0 Balance is: 1000.0 40000.0 deposited Balance is: 41000.0 15000.0 withdrawn Balance is: 26000.0 </pre></amt){></pre></=n;i++){>

Vytváření více objektů pouze jedním typem

Můžeme vytvořit více objektů pouze jedním typem jako v případě primitiv.

Inicializace primitivních proměnných:

 int a=10, b=20; 

Inicializace referenčních proměnných:

 Rectangle r1=new Rectangle(), r2=new Rectangle();//creating two objects 

Podívejme se na příklad:

 //Java Program to illustrate the use of Rectangle class which //has length and width data members class Rectangle{ int length; int width; void insert(int l,int w){ length=l; width=w; } void calculateArea(){System.out.println(length*width);} } class TestRectangle2{ public static void main(String args[]){ Rectangle r1=new Rectangle(),r2=new Rectangle();//creating two objects r1.insert(11,5); r2.insert(3,15); r1.calculateArea(); r2.calculateArea(); } } 
Otestujte to hned

Výstup:

 55 45 

Příklad reálného světa: Účet

Soubor: TestAccount.java

 //Java Program to demonstrate the working of a banking-system //where we deposit and withdraw amount from our account. //Creating an Account class which has deposit() and withdraw() methods class Account{ int acc_no; String name; float amount; //Method to initialize object void insert(int a,String n,float amt){ acc_no=a; name=n; amount=amt; } //deposit method void deposit(float amt){ amount=amount+amt; System.out.println(amt+&apos; deposited&apos;); } //withdraw method void withdraw(float amt){ if(amount <amt){ system.out.println(\'insufficient balance\'); }else{ amount="amount-amt;" system.out.println(amt+\' withdrawn\'); } method to check the balance of account void checkbalance(){system.out.println(\'balance is: \'+amount);} display values an object display(){system.out.println(acc_no+\' \'+name+\' creating a test class deposit and withdraw testaccount{ public static main(string[] args){ a1="new" account(); a1.insert(832345,\'ankit\',1000); a1.display(); a1.checkbalance(); a1.deposit(40000); a1.withdraw(15000); }} < pre> <span> Test it Now </span> <p>Output:</p> <pre> 832345 Ankit 1000.0 Balance is: 1000.0 40000.0 deposited Balance is: 41000.0 15000.0 withdrawn Balance is: 26000.0 </pre></amt){>