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.