Rumah > Java > javaTutorial > Bolehkah kelas abstrak dijadikan instantiated dalam java?

Bolehkah kelas abstrak dijadikan instantiated dalam java?

下次还敢
Lepaskan: 2024-04-29 01:48:12
asal
595 orang telah melayarinya

Tidak, kelas abstrak tidak boleh dibuat seketika. Terdapat dua sebab: untuk menguatkuasakan kaedah abstrak dan memastikan integriti konseptual.

Bolehkah kelas abstrak dijadikan instantiated dalam java?

Bolehkah kelas abstrak diwujudkan dalam Java?

Tidak, kelas abstrak tidak boleh dibuat seketika.

Punca:

Kelas abstrak ialah jenis kelas khas yang mengandungi kaedah abstrak, iaitu fungsi tanpa pelaksanaan. Kaedah abstrak mengisytiharkan nama kaedah, senarai parameter dan jenis pulangan, tetapi tidak mempunyai kod pelaksanaan sebenar.

Memandangkan kelas abstrak mengandungi kaedah abstrak, kejadiannya tidak boleh dibuat. Ini bermakna anda tidak boleh menggunakan kata kunci new untuk membuat contoh kelas abstrak. new 关键字来实例化抽象类。

为什么不使用抽象类?

不使用抽象类实例化有两个原因:

  • 强制实现抽象方法:抽象类的目的是强制子类实现其抽象方法。如果抽象类可以实例化,那么子类就可以绕过实现抽象方法。
  • 确保概念完整性:抽象类代表着概念,这些概念不适合实例化。例如,一个 Animal
Mengapa tidak menggunakan kelas abstrak?

Terdapat dua sebab untuk tidak menggunakan instantiasi kelas abstrak:

  • Memaksa pelaksanaan kaedah abstrak: Tujuan kelas abstrak adalah untuk memaksa subkelas melaksanakan kaedah abstraknya. Jika kelas abstrak boleh dijadikan instantiated, maka subkelas boleh memintas melaksanakan kaedah abstrak.

  • Pastikan integriti konsep: 🎜Kelas abstrak mewakili konsep yang tidak sesuai untuk instantiasi. Sebagai contoh, kelas abstrak Haiwan boleh mentakrifkan ciri umum haiwan, tetapi ia tidak boleh dijadikan haiwan tertentu. 🎜🎜🎜🎜Alternatif: 🎜🎜🎜Jika anda memerlukan jenis yang tidak boleh instantiated, anda boleh menggunakan 🎜Antaramuka🎜. Antara muka adalah serupa dengan kelas abstrak, tetapi ia hanya mengandungi kaedah abstrak dan tiada pelaksanaan konkrit. Subkelas mesti melaksanakan kaedah abstrak ini untuk menggunakan antara muka. 🎜

Atas ialah kandungan terperinci Bolehkah kelas abstrak dijadikan instantiated dalam java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan