- Objekt i Java
- Klass i Java
- Instansvariabel i Java
- Metod i Java
- Exempel på objekt och klass som upprätthåller elevens register
- 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
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:
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:
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.
- Med referensvariabel
- Med metod
- 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
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.
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'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+' deposited'); } //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+' deposited'); } //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){>=n;i++){>