logo

Objekter og klasser i Java

  1. Objekt i Java
  2. Klasse i Java
  3. Forekomstvariabel i Java
  4. Metode i Java
  5. Eksempel på objekt og klasse, der vedligeholder elevens optegnelser
  6. Anonymt objekt

På denne side lærer vi om Java-objekter og -klasser. I objektorienteret programmeringsteknik designer vi et program ved hjælp af objekter og klasser.

Et objekt i Java er den fysiske såvel som en logisk enhed, hvorimod en klasse i Java kun er en logisk enhed.

Hvad er et objekt i Java

objekt i Java

En enhed, der har tilstand og adfærd, er kendt som et objekt, f.eks. stol, cykel, markør, kuglepen, bord, bil osv. Det kan være fysisk eller logisk (håndgribeligt og uhåndgribeligt). Eksemplet på en immateriel genstand er banksystemet.

Et objekt har tre egenskaber:

    Stat:repræsenterer data (værdi) af et objekt.Opførsel:repræsenterer adfærden (funktionaliteten) af et objekt såsom indskud, udbetaling osv.Identitet:En objektidentitet implementeres typisk via et unikt ID. Værdien af ​​id'et er ikke synlig for den eksterne bruger. Det bruges dog internt af JVM til at identificere hvert objekt unikt.
Karakteristika for objekt i Java

For eksempel er Pen et objekt. Dens navn er Reynolds; farven er hvid, kendt som dens tilstand. Det bruges til at skrive, så skrivning er dens adfærd.

Et objekt er en instans af en klasse. En klasse er en skabelon eller en blueprint, som objekter oprettes ud fra. Så et objekt er instansen (resultatet) af en klasse.

Objektdefinitioner:

  • Et objekt er en entitet i den virkelige verden .
  • Et objekt er en runtime-entitet .
  • Objektet er en enhed, der har tilstand og adfærd .
  • Objektet er et eksempel på en klasse .

Hvad er en klasse i Java

En klasse er en gruppe af objekter, der har fælles egenskaber. Det er en skabelon eller blueprint, som objekter oprettes ud fra. Det er en logisk enhed. Det kan ikke være fysisk.

En klasse i Java kan indeholde:

    Felter Metoder Konstruktører Blokke Indlejret klasse og interface
Klasse i Java

Syntaks til at erklære en klasse:

 class { field; method; } 

Forekomstvariabel i Java

En variabel, der er oprettet i klassen, men uden for metoden, er kendt som en instansvariabel. Forekomstvariabel får ikke hukommelse på kompileringstidspunktet. Den får hukommelse ved kørsel, når et objekt eller en instans oprettes. Det er derfor, det er kendt som en instansvariabel.


Metode i Java

I Java er en metode som en funktion, der bruges til at afsløre et objekts adfærd.

Fordel ved metode

  • Kode Genanvendelighed
  • Kode optimering

nyt nøgleord i Java

Det nye nøgleord bruges til at allokere hukommelse ved kørsel. Alle objekter får hukommelse i Heap-hukommelsesområdet.


Objekt og klasseeksempel: hoved i klassen

I dette eksempel har vi oprettet en elevklasse, som har to datamedlemmer id og navn. Vi opretter objektet i Student-klassen ved hjælp af nyt nøgleord og udskriver objektets værdi.

Her opretter vi en main() metode inde i 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); } } 
Test det nu

Produktion:

 0 null 

Objekt og Klasse Eksempel: hoved uden for klassen

I realtidsudvikling opretter vi klasser og bruger det fra en anden klasse. Det er en bedre tilgang end den forrige. Lad os se et simpelt eksempel, hvor vi har main()-metoden i en anden klasse.

css opacitetsovergang

Vi kan have flere klasser i forskellige Java-filer eller en enkelt Java-fil. Hvis du definerer flere klasser i en enkelt Java-kildefil, er det en god idé at gemme filnavnet med klassenavnet, som har main()-metoden.

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); } } 
Test det nu

Produktion:

 0 null 

3 måder at initialisere objekt på

Der er 3 måder at initialisere objekt i Java.

  1. Ved referencevariabel
  2. Efter metode
  3. Af konstruktør

1) Objekt og Klasse Eksempel: Initialisering gennem reference

Initialisering af et objekt betyder at gemme data i objektet. Lad os se et simpelt eksempel, hvor vi skal initialisere objektet gennem en referencevariabel.

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 } } 
Test det nu

Produktion:

 101 Sonoo 

Vi kan også oprette flere objekter og gemme information i dem gennem referencevariable.

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); } } 
Test det nu

Produktion:

 101 Sonoo 102 Amit 

2) Objekt og Klasse Eksempel: Initialisering gennem metode

I dette eksempel opretter vi de to objekter i Student-klassen og initialiserer værdien til disse objekter ved at påkalde insertRecord-metoden. Her viser vi objekternes tilstand (data) ved at påkalde displayInformation() metoden.

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

Produktion:

streng til tegn
 111 Karan 222 Aryan 
Objekt i Java med værdier

Som du kan se i ovenstående figur, får objektet hukommelsen i heap-hukommelsesområdet. Referencevariablen refererer til det objekt, der er allokeret i heap-hukommelsesområdet. Her er s1 og s2 begge referencevariabler, der refererer til de objekter, der er allokeret i hukommelsen.


3) Objekt- og klasseeksempel: Initialisering gennem en konstruktør

Vi vil lære om konstruktører i Java senere.


Objekt og Klasse Eksempel: Medarbejder

Lad os se et eksempel, hvor vi fører optegnelser over medarbejdere.

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

Produktion:

 101 ajeet 45000.0 102 irfan 25000.0 103 nakul 55000.0 

Objekt og Klasse Eksempel: Rektangel

Der er givet et andet eksempel, der vedligeholder registreringerne af 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(); } } 
Test det nu

Produktion:

 55 45 

Hvad er de forskellige måder at oprette et objekt på i Java?

Der er mange måder at oprette et objekt på i java. De er:

  • Efter nyt søgeord
  • Ved newInstance() metode
  • Ved clone() metode
  • Ved deserialisering
  • Ved fabriksmetode osv.

Vi vil lære disse måder at skabe objekter på senere.

Forskellige måder at oprette et objekt på i Java

Anonymt objekt

Anonym betyder simpelthen navnløs. Et objekt, der ikke har nogen reference, er kendt som et anonymt objekt. Det kan kun bruges på tidspunktet for oprettelse af objekter.

Hvis du kun skal bruge et objekt én gang, er et anonymt objekt en god tilgang. For eksempel:

 new Calculation();//anonymous object 

Opkaldsmetode gennem en reference:

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

Opkaldsmetode gennem et anonymt objekt

 new Calculation().fact(5); 

Lad os se det fulde eksempel på et 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++){>

Oprettelse af flere objekter kun efter én type

Vi kan kun oprette flere objekter af én type, som vi gør i tilfælde af primitiver.

Initialisering af primitive variable:

 int a=10, b=20; 

Initialisering af referencevariable:

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

Lad os se eksemplet:

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

Produktion:

 55 45 

Eksempel fra den virkelige verden: 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){>