logo

Objektai ir klasės Java

  1. Objektas Java
  2. Klasė Java
  3. „Java“ egzempliorių kintamasis
  4. Metodas Java
  5. Objekto ir klasės, kuri tvarko mokinio įrašus, pavyzdys
  6. Anoniminis objektas

Šiame puslapyje mes sužinosime apie Java objektus ir klases. Objektinio programavimo technikoje mes projektuojame programą naudodami objektus ir klases.

„Java“ objektas yra fizinis ir loginis subjektas, o „Java“ klasė yra tik loginis objektas.

Kas yra objektas Java

objektas Java

Subjektas, turintis būseną ir elgesį, yra žinomas kaip objektas, pvz., kėdė, dviratis, žymeklis, rašiklis, stalas, automobilis ir kt. Jis gali būti fizinis arba loginis (apčiuopiamas ir neapčiuopiamas). Nematerialaus objekto pavyzdys yra bankų sistema.

Objektas turi tris savybes:

    Būsena:reprezentuoja objekto duomenis (reikšmę).Elgesys:parodo objekto elgesį (funkcionalumą), pvz., deponavimą, išėmimą ir kt.Tapatybė:Objekto tapatybė paprastai įgyvendinama naudojant unikalų ID. ID reikšmės nematomas išoriniam vartotojui. Tačiau JVM jį naudoja viduje, kad kiekvienas objektas būtų unikaliai identifikuotas.
Objekto charakteristikos Java

Pavyzdžiui, rašiklis yra objektas. Jo vardas yra Reynoldsas; spalva yra balta, žinoma kaip jos būsena. Jis naudojamas rašyti, todėl rašymas yra jo elgesys.

Objektas yra klasės egzempliorius. Klasė yra šablonas arba projektas, iš kurio kuriami objektai. Taigi, objektas yra klasės egzempliorius (rezultatas).

Objektų apibrėžimai:

  • Objektas yra realaus pasaulio subjektas .
  • Objektas yra vykdymo subjektas .
  • Objektas yra subjektas, turintis būseną ir elgesį .
  • Objektas yra klasės pavyzdys .

Kas yra Java klasė

Klasė yra objektų, turinčių bendrų savybių, grupė. Tai šablonas arba projektas, iš kurio kuriami objektai. Tai loginis darinys. Tai negali būti fizinė.

„Java“ klasėje gali būti:

    Laukai Metodai Konstruktoriai Blokai Įdėta klasė ir sąsaja
Klasė Java

Sintaksė klasei deklaruoti:

 class { field; method; } 

„Java“ egzempliorių kintamasis

Kintamasis, kuris sukuriamas klasėje, bet už metodo ribų, yra žinomas kaip egzemplioriaus kintamasis. Egzempliorių kintamasis negauna atminties kompiliavimo metu. Vykdymo metu jis gauna atmintį, kai sukuriamas objektas ar egzempliorius. Štai kodėl jis žinomas kaip egzemplioriaus kintamasis.


Metodas Java

„Java“ kalboje metodas yra tarsi funkcija, naudojama objekto elgesiui atskleisti.

Metodo privalumas

  • Kodo pakartotinis naudojimas
  • Kodo optimizavimas

naujas raktinis žodis Java

Naujasis raktinis žodis naudojamas atminties paskirstymui vykdymo metu. Visi objektai gauna atmintį krūvos atminties srityje.


Objekto ir klasės pavyzdys: pagrindinis klasėje

Šiame pavyzdyje sukūrėme Mokinio klasę, kurioje yra du duomenų narių ID ir pavadinimas. Kuriame Studento klasės objektą pagal naują raktinį žodį ir spausdiname objekto vertę.

Čia mes sukuriame pagrindinį () metodą klasėje.

Failas: 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); } } 
Išbandykite dabar

Išvestis:

 0 null 

Objekto ir klasės pavyzdys: pagrindinis už klasės ribų

Kurdami realiuoju laiku, kuriame klases ir naudojame iš kitos klasės. Tai geresnis požiūris nei ankstesnis. Pažiūrėkime paprastą pavyzdį, kai mes turime main() metodą kitoje klasėje.

sukurti java giją

Galime turėti kelias klases skirtinguose Java failuose arba viename Java faile. Jei viename „Java“ šaltinio faile apibrėžiate kelias klases, verta išsaugoti failo pavadinimą su klasės pavadinimu, kuris turi main() metodą.

Failas: 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); } } 
Išbandykite dabar

Išvestis:

 0 null 

3 būdai inicijuoti objektą

Yra 3 būdai, kaip inicijuoti objektą Java.

  1. Pagal nuorodos kintamąjį
  2. Pagal metodą
  3. Pagal konstruktorių

1) Objekto ir klasės pavyzdys: inicijavimas naudojant nuorodą

Objekto inicijavimas reiškia duomenų saugojimą objekte. Pažiūrėkime paprastą pavyzdį, kai ketiname inicijuoti objektą naudodami nuorodos kintamąjį.

Failas: 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 } } 
Išbandykite dabar

Išvestis:

 101 Sonoo 

Taip pat galime sukurti kelis objektus ir juose saugoti informaciją per nuorodos kintamąjį.

Failas: 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); } } 
Išbandykite dabar

Išvestis:

 101 Sonoo 102 Amit 

2) Objekto ir klasės pavyzdys: inicijavimas naudojant metodą

Šiame pavyzdyje mes kuriame du Studentų klasės objektus ir inicijuojame šių objektų vertę, pasinaudodami insertRecord metodu. Čia mes rodome objektų būseną (duomenis), pasitelkę displayInformation() metodą.

Failas: 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(); } } 
Išbandykite dabar

Išvestis:

 111 Karan 222 Aryan 
Objektas Java su reikšmėmis

Kaip matote aukščiau esančiame paveikslėlyje, objektas atmintį gauna krūvos atminties srityje. Nuorodos kintamasis nurodo objektą, skirtą krūvos atminties srityje. Čia s1 ir s2 yra atskaitos kintamieji, nurodantys atmintyje priskirtus objektus.


3) Objekto ir klasės pavyzdys: inicijavimas naudojant konstruktorių

Apie „Java“ konstruktorius sužinosime vėliau.


Objekto ir klasės pavyzdys: darbuotojas

Pažiūrėkime pavyzdį, kai tvarkome darbuotojų apskaitą.

Failas: TestEmployee.java

konvertuoti int į eilutę c++
 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(); } } 
Išbandykite dabar

Išvestis:

 101 ajeet 45000.0 102 irfan 25000.0 103 nakul 55000.0 

Objekto ir klasės pavyzdys: Stačiakampis

Pateiktas kitas pavyzdys, kuriame saugomi stačiakampio klasės įrašai.

Failas: 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(); } } 
Išbandykite dabar

Išvestis:

 55 45 

Kokie yra skirtingi „Java“ objekto kūrimo būdai?

Yra daug būdų, kaip sukurti objektą Java. Jie yra:

  • Pagal naują raktinį žodį
  • Pagal newInstance() metodą
  • Pagal klono() metodą
  • Deserializacijos būdu
  • Gamyklos metodu ir pan.

Šių objekto kūrimo būdų išmoksime vėliau.

Įvairūs būdai sukurti objektą Java

Anoniminis objektas

Anonimas tiesiog reiškia bevardis. Objektas, neturintis nuorodos, yra žinomas kaip anoniminis objektas. Jis gali būti naudojamas tik objekto kūrimo metu.

Jei objektą turite naudoti tik vieną kartą, anoniminis objektas yra geras būdas. Pavyzdžiui:

 new Calculation();//anonymous object 

Skambinimo būdas naudojant nuorodą:

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

Skambinimo būdas per anoniminį objektą

 new Calculation().fact(5); 

Pažiūrėkime visą anoniminio objekto pavyzdį 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++){>

Kelių objektų kūrimas tik pagal vieną tipą

Mes galime sukurti kelis objektus tik pagal vieną tipą, kaip tai darome primityvų atveju.

Primityvių kintamųjų inicijavimas:

 int a=10, b=20; 

Nuorodos kintamųjų inicijavimas:

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

Pažiūrėkime pavyzdį:

 //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(); } } 
Išbandykite dabar

Išvestis:

 55 45 

Realaus pasaulio pavyzdys: sąskaita

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