Rumah  >  Artikel  >  tutorial komputer  >  Mengapa kelas Objek memerlukan pembina parameter nol di Jawa?

Mengapa kelas Objek memerlukan pembina parameter nol di Jawa?

PHPz
PHPzke hadapan
2024-01-24 18:39:04723semak imbas

java中为什么 Object类要有一个空的构造函数

Mengapa kelas Objek mempunyai pembina kosong di java

Kelas lain tidak perlu mentakrifkan pembina tanpa parameter secara eksplisit kerana mereka mewarisi kelas Objek dan dengan itu mewarisi kaedah pembina Objek.

Objek ialah kelas induk bagi semua kelas, ia tidak mempunyai kelas lain yang mewarisinya, jadi ia mesti mempunyai pembina tanpa hujah untuk instantiasi.

Java ialah bahasa pengaturcaraan berorientasikan objek merentas platform dengan fleksibiliti, kecekapan, mudah alih platform dan keselamatan yang sangat baik. Ia digunakan secara meluas dalam PC, pusat data, konsol permainan, superkomputer saintifik, telefon mudah alih dan Internet. Pada masa yang sama, Java mempunyai komuniti pembangun profesional terbesar di dunia, menyediakan asas yang kukuh untuk pembangunan dan inovasi selanjutnya.

Objek sering digunakan untuk meniru beberapa objek di sekeliling kita di dunia nyata.

Objek perisian ialah model objek dunia sebenar yang mempunyai keadaan dan tingkah laku. Keadaan dikekalkan melalui pembolehubah, yang dinamakan oleh pengecam pengguna. Kaedah ialah fungsi yang dikaitkan dengan objek yang melakukan tingkah laku objek. Oleh itu, objek perisian ialah model yang mengekalkan keadaan melalui pembolehubah dan melakukan tingkah laku melalui kaedah.

Objek adalah kunci untuk memahami teknologi berorientasikan objek. Sebelum belajar, anda boleh memerhati objek sebenar seperti anjing, meja, TV, basikal, dsb. Objek ini mempunyai dua ciri yang sama: keadaan dan tingkah laku. Contohnya, anjing mempunyai keadaan mereka sendiri (seperti nama, warna, kesuburan, kelaparan, dll.) dan tingkah laku (seperti mengibaskan ekor). Begitu juga, basikal mempunyai keadaan (seperti gear semasa, roda, dsb.) dan tingkah laku (seperti membrek, memecut, memecut dan menukar gear). Dengan memerhati objek ini, kita boleh memahami teknologi berorientasikan objek dengan lebih baik.

Apakah maksud menulis badan fungsi pembina C kosong

Instasiasi objek dan permulaan data biasanya dilakukan melalui pembina. Di Java, semua kelas mewarisi daripada kelas Objek, jadi pembina parameter kosong kelas Objek diwarisi secara lalai. Ini bermakna walaupun anda tidak menulis pembina null, ia masih wujud. Walau bagaimanapun, pembina berparameter biasanya ditulis oleh pembangun sendiri. Pembina berparameter berfungsi sama dengan pembina parameter kosong, tetapi ia boleh menerima parameter dan melakukan beberapa operasi pemulaan tertentu. Oleh itu, pembina berparameter membenarkan lebih fleksibiliti dalam memulakan data objek. Ringkasnya, pembina parameter kosong ialah pembina lalai yang diwarisi daripada kelas Objek, manakala pembina berparameter ditulis oleh pembangun sendiri dan boleh menerima parameter dan melaksanakan operasi pemulaan tertentu.

Izinkan saya memberi anda contoh untuk menggambarkan

Terdapat Monitor kelas yang mempunyai atribut ketinggian String;String

lebar

Pantau awam(){}

Pantau awam(Ketinggian rentetan, lebar rentetan){}

Kaedah pembina dengan satu parameter kosong dan satu dengan parameter

Dalam kaedah utama saya melakukan tindakan permulaan

Monitor monitor=New Monitor();

Struktur ini hanya mencipta objek paparan, dan sifatnya tidak mempunyai nilai Anda juga boleh menetapkan nilai secara manual padanya

Contohnya: monitor.height=100;

monitor.width=200;

Berbeza jika anda menggunakan yang ada ginseng, banyak lagi perkara yang perlu dibimbangkan

Monitor monitor2=Monitor baharu("100","200");

Di sini saya hanya perlu meletakkan parameter yang saya mahu masukkan terus untuk menetapkan nilai kepada atribut saya. Adakah ia menjimatkan banyak kerja?

Ini kelebihannya!

Jawapan selesai!

Pembina ialah kaedah khas yang digunakan terutamanya untuk memulakan objek semasa menciptanya, iaitu, memberikan nilai awal kepada pembolehubah ahli objek

Sentiasa digunakan bersama-sama dengan operator baharu dalam pernyataan yang mencipta objek Kelas khas boleh mempunyai berbilang pembina.

Perbezaan antara pembina dan kaedah lain

1. Nama pembina mestilah betul-betul sama dengan nama kelas; manakala kaedah umum tidak boleh sama dengan nama kelas

2. Fungsi pembina digunakan terutamanya untuk mentakrifkan keadaan permulaan apabila objek kelas dicipta dan tidak boleh diubah suai dengan tidak sah mempunyai sebarang Pilih. Dan kaedah lain mempunyai nilai pulangan Walaupun ia adalah nilai pulangan yang kosong, walaupun badan kaedah itu sendiri tidak akan mengembalikan apa-apa secara automatik, anda masih boleh membiarkannya mengembalikan sesuatu, dan perkara ini mungkin tidak selamat.

3. Pembina tidak boleh dipanggil terus Ia mesti dipanggil secara automatik apabila objek dibuat melalui operator baharu

4. Apabila mentakrifkan kelas, pembina kelas biasanya akan dipaparkan, dan kerja permulaan boleh ditinggalkan dalam fungsi Pengkompil Java akan menyediakan pembina lalai ini Tanpa parameter mempunyai ciri ini

Ringkasnya, pembina digunakan untuk mencipta objek secara lebih profesional, ia dipanggil instantiasi objek.

Definisi:

kelas A

{

awam A(){}

}

Gunakan:

A a=new A(); //Di sini, A() ialah pembina.

Satu perkara yang perlu diambil perhatian ialah jika tiada pembina ditakrifkan dalam kelas, pengkompil akan menjana pembina kosong secara automatik dan setiap ahli kelas akan diberikan nilai lalai.

Tetapi jika hanya pembina persendirian ditakrifkan dalam kelas, maka kelas itu tidak akan dijadikan instantiated.

kelas A

{

rentetan a;

peribadi A() { }//Kelas ini tidak boleh dibuat instant

}

Jika kita mentakrifkan pembina dengan parameter tetapi bukan pembina tanpa parameter, maka parameter mesti disediakan semasa membuat instantiat objek kelas ini.

kelas A

{

rentetan a;

awam A(string str) {a=str; }

}

Anda tidak boleh membuat instantiat objek A a=baru A();

Pembina dibahagikan kepada pembina dinamik dan pembina statik.

Pembina dinamik memperuntukkan ruang ingatan untuk kelas atau struktur apabila ia dibuat seketika, dan melengkapkan permulaan pembolehubah ahli dalam kelas atau struktur. Pembina dinamik boleh terlebih beban, iaitu, nama pembina yang sama mempunyai berbilang pembina jenis dan nombor yang berbeza. Tiada perbezaan penting antara pembina dengan parameter dan pembina tanpa parameter Pembina dengan parameter boleh dikawal oleh pembolehubah yang diluluskan atau secara langsung memulakan pembolehubah ahli Dalam pembina, nilai lalai boleh dimulakan untuk pembolehubah ahli.

Pembina statik tidak dibenarkan membawa parameter, iaitu, hanya satu pembina statik dibenarkan dalam kelas. Ia dipanggil sebelum akses pertama kepada ahli statik atau instantiasi pertama objek dinamik kelas ini.

c constructor menjana rentetan kosong

#include

#include

menggunakan ruang nama std;

#define MAXLENGTH 1000

kelas CString

{

char m_buff[MAXLENGTH];

awam:

CString(); //Pembina 1, tetapkan kepada rentetan kosong

~CString();

rakan ostream& operator

pengendali char[](int i)const;

};

CString::CString()

{

//m_buff[0]=NULL;

memset(m_buff,0,saiz m_buff); //Fungsi permulaan rentetan

}

char CString::operator[](int i)const

{

kembali m_buff[i];

}

ostream& operator {

kembali Keluar }

CString::~CString()

{

//delete[] m_buff; Saudara, anda tidak boleh menggunakan padam tanpa yang baharu mesti diperuntukkan secara dinamik.

}

int main()//Umumnya tulis int

{

CString s1;

cout kembali 0; //Anda tidak perlu menulisnya

} Apa pun, tiada ralat dilaporkan Sama ada fungsi yang anda inginkan dapat direalisasikan, itu adalah perjalanan ke C++, jadi berjalan perlahan-lahan.

Apakah kaedah pembina dalam Java

Kaedah pembinaan adalah kaedah khas, yang berbeza dengan kaedah umum:

1. Nama pembina mestilah betul-betul sama dengan nama kelas di mana ia ditakrifkan.

2 Kaedah pembina dipanggil menggunakan operasi baharu semasa mencipta objek. Fungsi pembina adalah untuk memulakan objek.

3. Tidak boleh diubah suai secara statik, muktamad, disegerakkan, abstrak dan asli. Pembina tidak boleh diwarisi oleh subkelas.

kelas RectConstructor{

dua kali ganda;

lebar berganda;

kawasan berganda(){

panjang*lebar balik;

}

// Kaedah berikut adalah kaedah pembinaan yang dipanggil Ia tidak mempunyai nilai pulangan dan nama kaedah adalah sama dengan nama kelas~~~

RectConstructor(lebar berganda, panjang berganda){//Kaedah Pembina dengan parameter

ini.panjang=panjang;

this.width=width;

}

}

Malah, kaedah pembinaan adalah untuk memberikan nilai awal kepada ahli kelas~~~~~~~~~~~~~~~

Atas ialah kandungan terperinci Mengapa kelas Objek memerlukan pembina parameter nol di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:docexcel.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam