logo

Objekt och klasser i Java

  1. Objekt i Java
  2. Klass i Java
  3. Instansvariabel i Java
  4. Metod i Java
  5. Exempel på objekt och klass som upprätthåller elevens register
  6. Anonymt objekt

På den här sidan kommer vi att lära oss om Java-objekt och -klasser. I objektorienterad programmeringsteknik designar vi ett program med hjälp av objekt och klasser.

Ett objekt i Java är den fysiska såväl som en logisk enhet, medan en klass i Java endast är en logisk enhet.

Vad är ett objekt i Java

objekt i Java

En entitet som har tillstånd och beteende är känt som ett objekt, t.ex. stol, cykel, markör, penna, bord, bil, etc. Det kan vara fysiskt eller logiskt (påtagligt och immateriellt). Exemplet på ett immateriellt föremål är banksystemet.

Ett objekt har tre egenskaper:

    Stat:representerar data (värde) för ett objekt.Beteende:representerar beteendet (funktionaliteten) hos ett objekt såsom insättning, uttag etc.Identitet:En objektidentitet implementeras vanligtvis via ett unikt ID. Värdet på ID:t är inte synligt för den externa användaren. Det används dock internt av JVM för att identifiera varje objekt unikt.
Egenskaper för objekt i Java

Till exempel är Penna ett objekt. Dess namn är Reynolds; färgen är vit, känd som dess tillstånd. Det används för att skriva, så att skriva är dess beteende.

Ett objekt är en instans av en klass. En klass är en mall eller ritning från vilken objekt skapas. Så, ett objekt är instansen (resultatet) av en klass.

Objektdefinitioner:

  • Ett föremål är en verklig enhet .
  • Ett föremål är en runtime-enhet .
  • Objektet är en enhet som har tillstånd och beteende .
  • Objektet är en instans av en klass .

Vad är en klass i Java

En klass är en grupp av objekt som har gemensamma egenskaper. Det är en mall eller ritning från vilken objekt skapas. Det är en logisk enhet. Det kan inte vara fysiskt.

En klass i Java kan innehålla:

    Fält Metoder Konstruktörer Block Kapslad klass och gränssnitt
Klass i Java

Syntax för att deklarera en klass:

 class { field; method; } 

Instansvariabel i Java

En variabel som skapas inuti klassen men utanför metoden kallas en instansvariabel. Instansvariabel får inte minne vid kompilering. Den får minne vid körning när ett objekt eller en instans skapas. Det är därför det är känt som en instansvariabel.


Metod i Java

I Java är en metod som en funktion som används för att exponera ett objekts beteende.

Fördel med metod

  • Kod Återanvändbarhet
  • Kodoptimering

nytt nyckelord i Java

Det nya nyckelordet används för att allokera minne vid körning. Alla objekt får minne i Heap-minnesområdet.


Objekt och klassexempel: huvud inom klassen

I det här exemplet har vi skapat en studentklass som har två datamedlemmar id och namn. Vi skapar objektet i Studentklassen med nytt nyckelord och skriver ut objektets värde.

Här skapar vi en main()-metod inuti klassen.

Fil: 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); } } 
Testa det nu

Produktion:

 0 null 

Objekt och klass Exempel: main utanför klassen

I realtidsutveckling skapar vi klasser och använder det från en annan klass. Det är ett bättre tillvägagångssätt än tidigare. Låt oss se ett enkelt exempel, där vi har main()-metoden i en annan klass.

lista över teckensnitt i gimp

Vi kan ha flera klasser i olika Java-filer eller en enda Java-fil. Om du definierar flera klasser i en enda Java-källfil är det en bra idé att spara filnamnet med klassnamnet som har metoden main().

Fil: 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); } } 
Testa det nu

Produktion:

 0 null 

3 sätt att initiera objekt

Det finns 3 sätt att initiera objekt i Java.

  1. Med referensvariabel
  2. Med metod
  3. Av konstruktör

1) Objekt och klassexempel: Initiering genom referens

Att initiera ett objekt innebär att lagra data i objektet. Låt oss se ett enkelt exempel där vi ska initialisera objektet genom en referensvariabel.

Fil: 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 } } 
Testa det nu

Produktion:

 101 Sonoo 

Vi kan också skapa flera objekt och lagra information i den genom referensvariabel.

Fil: 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); } } 
Testa det nu

Produktion:

 101 Sonoo 102 Amit 

2) Objekt och klassexempel: Initialisering genom metod

I det här exemplet skapar vi de två objekten i klassen Student och initierar värdet till dessa objekt genom att anropa metoden insertRecord. Här visar vi tillståndet (data) för objekten genom att anropa metoden displayInformation().

Fil: TestStudent4.java

tom lista 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(); } } 
Testa det nu

Produktion:

 111 Karan 222 Aryan 
Objekt i Java med värden

Som du kan se i figuren ovan får objektet minnet i högminnesområdet. Referensvariabeln hänvisar till objektet som tilldelats i heapminnesområdet. Här är s1 och s2 båda referensvariabler som hänvisar till de objekt som är allokerade i minnet.


3) Objekt och klassexempel: Initiering genom en konstruktor

Vi kommer att lära oss om konstruktörer i Java senare.


Objekt och klassexempel: Anställd

Låt oss se ett exempel där vi för register över anställda.

Fil: 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(); } } 
Testa det nu

Produktion:

 101 ajeet 45000.0 102 irfan 25000.0 103 nakul 55000.0 

Objekt och klassexempel: rektangel

Det finns ett annat exempel som upprätthåller rekorden för rektangelklassen.

Fil: 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(); } } 
Testa det nu

Produktion:

 55 45 

Vilka är de olika sätten att skapa ett objekt i Java?

Det finns många sätt att skapa ett objekt i java. Dom är:

  • Med nytt sökord
  • Med metoden newInstance().
  • Genom clone()-metoden
  • Genom deserialisering
  • Genom fabriksmetod etc.

Vi kommer att lära oss dessa sätt att skapa objekt senare.

Olika sätt att skapa ett objekt i Java

Anonymt objekt

Anonym betyder helt enkelt namnlös. Ett objekt som inte har någon referens kallas ett anonymt objekt. Den kan endast användas när objekt skapas.

Om du bara måste använda ett objekt en gång är ett anonymt objekt ett bra tillvägagångssätt. Till exempel:

 new Calculation();//anonymous object 

Anropsmetod genom en referens:

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

Anropsmetod genom ett anonymt objekt

 new Calculation().fact(5); 

Låt oss se det fullständiga exemplet på ett anonymt objekt i Java.

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

Skapar flera objekt av endast en typ

Vi kan skapa flera objekt av en typ bara som vi gör i fallet med primitiver.

Initialisering av primitiva variabler:

 int a=10, b=20; 

Initialisering av referensvariabler:

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

Låt oss se exemplet:

 //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(); } } 
Testa det nu

Produktion:

 55 45 

Exempel på verkliga världen: Konto

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