14-dars — Javada konstruktor.
Konstruktor klass nomidagi funskiyadir. Javada konstruktorlar obyektni ishga tushurish uchun maxsus usuldir. Java konstruktor obyekt yaratish vaqtida chaqiriladi
Javada konstruktor yaratish qoidalari:
- Konstruktor klass nomi bilan o’xshash bo’lishi kerak
- Konstruktor noaniq ma’lumot turiga ega bo’lishi kerak
Konstruktorni ikkita turi mavjud:
- Argumentsiz konstruktorlar
- Parametrlik konstruktorlar
Konstruktorga oddiy misol:
Bu misolda argumentsiz
Bike1 konstruktor yaratildi. Obyekt yaratilishi vaqtida konstruktorni ishlatadi.
class Bike1 { Bike1() { System.out.println("Bike is created"); } public static void main(String args[]) { Bike1 b = new Bike1(); } }
Majburiy konstruktorga misol
class Student3 { int id; String name; void display() { System.out.println(id+" "+name); } public static void main(String args[]) { Student3 s1=new Student3(); Student3 s2=new Student3(); s1.display(); s2.display(); } }
ekranda:
0 null
0 null
Parametrga ega bo’lgan konstruktor
class Student4 { int id; String name; Student4(int i,String n) { id = i; name = n; } void display() { System.out.println(id+" "+name); } public static void main(String args[]) { Student4 s1 = new Student4(111,"Akmal"); Student4 s2 = new Student4(222,"Zafar"); s1.display(); s2.display(); } }
Ekrada:
111 Akmal
222 Zafar
Bu misolda parametrga ega bo’lgan konstruktor yaratildi.
Konstruktor va funksiya orasidagi farqlar
Konstruktor |
Funksiya |
Konstruktordan obyektni dastlabki holatini bilish uchun foydalaniladi | Funksiya obyektni harakterini ifodalashda foydalaniladi |
Konstruktor ma’lumot qaytarmaydi | Funksiya ma’lumot qaytaradi |
Konstruktor bilvosita chaqiriladi | Funksiya oshkora chaqiriladi |
Konstruktor bilvosita chaqiriladi | Kompilyatsiyada funksiya yaratilmaydi |
Agar konstruktor bo’lmasa, java kompilyator majburiy konstruktor yaratadi |
Kompilyatsiyada funksiya yaratilmaydi |
Konstruktor nomi klass nomi bilan bir xil bo’ladi | Funksiya nomi o’xshashi yokiy o’xshamasligi mumkin |
Konstruktordan nusxa(copy) olish
class Student6{ int id; String name; Student6(int i,String n){ id = i; name = n; } Student6(Student6 s){ id = s.id; name =s.name; } void display(){System.out.println(id+" "+name);} public static void main(String args[]){ Student6 s1 = new Student6(111,"Akmal"); Student6 s2 = new Student6(s1); s1.display(); s2.display(); } }
ekranda :
111 Akmal
111 Akmal
Manba:
Umumiy Dasturlash
14-dars — Javada konstruktor.