logo

Objekti i klase u Javi

  1. Objekt u Javi
  2. Predavanje u Javi
  3. Varijabla instance u Javi
  4. Metoda u Javi
  5. Primjer objekta i razreda koji održava evidenciju učenika
  6. Anonimni objekt

Na ovoj stranici naučit ćemo o Java objektima i klasama. U tehnici objektno orijentiranog programiranja, dizajniramo program pomoću objekata i klasa.

Objekt u Javi je fizički, ali i logički entitet, dok je klasa u Javi samo logički entitet.

Što je objekt u Javi

objekt u Javi

Entitet koji ima stanje i ponašanje poznat je kao objekt, npr. stolica, bicikl, marker, olovka, stol, automobil itd. Može biti fizički ili logički (opipljiv i nematerijalan). Primjer nematerijalnog objekta je bankarski sustav.

Objekt ima tri karakteristike:

    Država:predstavlja podatak (vrijednost) objekta.Ponašanje:predstavlja ponašanje (funkcionalnost) objekta kao što je uplata, isplata itd.Identitet:Identitet objekta obično se implementira preko jedinstvenog ID-a. Vrijednost ID-a nije vidljiva vanjskom korisniku. Međutim, koristi ga interno JVM za jedinstvenu identifikaciju svakog objekta.
Karakteristike objekta u Javi

Na primjer, olovka je objekt. Zove se Reynolds; boja je bijela, poznata kao njeno stanje. Koristi se za pisanje, pa je pisanje njegovo ponašanje.

Objekt je instanca klase. Klasa je predložak ili nacrt iz kojeg se stvaraju objekti. Dakle, objekt je instanca (rezultat) klase.

Definicije objekata:

  • Objekt je entitet stvarnog svijeta .
  • Objekt je entitet za vrijeme izvođenja .
  • Objekt je entitet koji ima stanje i ponašanje .
  • Objekt je instanca klase .

Što je klasa u Javi

Klasa je grupa objekata koji imaju zajednička svojstva. To je predložak ili nacrt iz kojeg se stvaraju objekti. To je logičan entitet. Ne može biti fizički.

Klasa u Javi može sadržavati:

    Polja Metode Konstruktori Blokovi Ugniježđena klasa i sučelje
Predavanje u Javi

Sintaksa za deklariranje klase:

 class { field; method; } 

Varijabla instance u Javi

Varijabla koja je stvorena unutar klase, ali izvan metode poznata je kao varijabla instance. Varijabla instance ne dobiva memoriju tijekom kompajliranja. Dobiva memoriju tijekom izvođenja kada se kreira objekt ili instanca. Zbog toga je poznata kao varijabla instance.


Metoda u Javi

U Javi je metoda poput funkcije koja se koristi za otkrivanje ponašanja objekta.

Prednost metode

  • Mogućnost ponovne upotrebe koda
  • Optimizacija koda

nova ključna riječ u Javi

Nova ključna riječ koristi se za dodjelu memorije tijekom izvođenja. Svi objekti dobivaju memoriju u području Heap memorije.


Primjer objekta i klase: glavni unutar klase

U ovom primjeru, stvorili smo klasu Student koja ima dva člana podataka id i ime. Stvaramo objekt klase Student novom ključnom riječi i ispisujemo vrijednost objekta.

Ovdje stvaramo main() metodu unutar klase.

Datoteka: 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); } } 
Testirajte sada

Izlaz:

 0 null 

Primjer objekta i klase: main izvan klase

U razvoju u stvarnom vremenu stvaramo klase i koristimo ih iz druge klase. To je bolji pristup od prethodnog. Pogledajmo jednostavan primjer, gdje imamo main() metodu u drugoj klasi.

java string format long

Možemo imati više klasa u različitim Java datotekama ili jednu Java datoteku. Ako definirate više klasa u jednoj Java izvornoj datoteci, dobra je ideja spremiti naziv datoteke s nazivom klase koja ima metodu main().

Datoteka: 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); } } 
Testirajte sada

Izlaz:

 0 null 

3 načina inicijalizacije objekta

Postoje 3 načina za inicijalizaciju objekta u Javi.

  1. Po referentnoj varijabli
  2. Po metodi
  3. Po konstruktoru

1) Primjer objekta i klase: Inicijalizacija kroz referencu

Inicijaliziranje objekta znači pohranjivanje podataka u objekt. Pogledajmo jednostavan primjer gdje ćemo inicijalizirati objekt kroz referentnu varijablu.

Datoteka: 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 } } 
Testirajte sada

Izlaz:

 101 Sonoo 

Također možemo kreirati više objekata i pohraniti informacije u njih putem referentne varijable.

Datoteka: 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); } } 
Testirajte sada

Izlaz:

 101 Sonoo 102 Amit 

2) Primjer objekta i klase: Inicijalizacija putem metode

U ovom primjeru stvaramo dva objekta klase Student i inicijaliziramo vrijednost tim objektima pozivanjem metode insertRecord. Ovdje prikazujemo stanje (podatke) objekata pozivanjem metode displayInformation().

Datoteka: 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(); } } 
Testirajte sada

Izlaz:

 111 Karan 222 Aryan 
Objekt u Javi s vrijednostima

Kao što možete vidjeti na gornjoj slici, objekt dobiva memoriju u memorijskom području gomile. Referentna varijabla odnosi se na objekt dodijeljen u području memorije gomile. Ovdje su s1 i s2 referentne varijable koje se odnose na objekte dodijeljene u memoriji.


3) Primjer objekta i klase: Inicijalizacija kroz konstruktor

Kasnije ćemo naučiti o konstruktorima u Javi.


Primjer objekta i klase: Zaposlenik

Pogledajmo primjer gdje vodimo evidenciju zaposlenika.

Datoteka: 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(); } } 
Testirajte sada

Izlaz:

 101 ajeet 45000.0 102 irfan 25000.0 103 nakul 55000.0 

Primjer objekta i klase: pravokutnik

Dat je još jedan primjer koji održava zapise klase Rectangle.

Datoteka: 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(); } } 
Testirajte sada

Izlaz:

 55 45 

Koji su različiti načini stvaranja objekta u Javi?

Postoji mnogo načina za stvaranje objekta u Javi. Oni su:

  • Po novoj ključnoj riječi
  • Metodom newInstance().
  • Metodom clone().
  • Deserijalizacijom
  • Tvorničkom metodom itd.

Kasnije ćemo naučiti ove načine stvaranja objekta.

Različiti načini stvaranja objekta u Javi

Anonimni objekt

Anonimno jednostavno znači bezimeni. Objekt koji nema referencu poznat je kao anonimni objekt. Može se koristiti samo u trenutku stvaranja objekta.

primarni ključ i kompozitni ključ u sql-u

Ako morate koristiti objekt samo jednom, anonimni objekt je dobar pristup. Na primjer:

 new Calculation();//anonymous object 

Metoda pozivanja putem reference:

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

Metoda pozivanja putem anonimnog objekta

 new Calculation().fact(5); 

Pogledajmo cijeli primjer anonimnog objekta u Javi.

 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++){>

Stvaranje više objekata samo jednom vrstom

Možemo kreirati više objekata samo po jednom tipu kao što to radimo u slučaju primitiva.

Inicijalizacija primitivnih varijabli:

 int a=10, b=20; 

Inicijalizacija referentnih varijabli:

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

Pogledajmo primjer:

 //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(); } } 
Testirajte sada

Izlaz:

 55 45 

Primjer iz stvarnog svijeta: račun

Datoteka: 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){>