Artikel ini membawa anda pengetahuan yang berkaitan tentang java, yang terutamanya memperkenalkan isu berkaitan berorientasikan objek Java, termasuk ciri asas berorientasikan objek, hubungan antara objek, dsb. , harap ia membantu semua orang.
Pembelajaran yang disyorkan: "tutorial java"
2. Berorientasikan objek
3. Diedarkan
4. Keteguhan
Java telah membatalkan petunjuk yang kuat tetapi berbahaya dan menggantikannya dengan rujukan. Memandangkan penunjuk boleh melakukan operasi bergerak, penunjuk boleh menunjuk ke mana-mana kawasan memori tidak kira sama ada kawasan ini tersedia Ini berbahaya kerana ternyata alamat memori ini mungkin menyimpan data penting atau diduduki oleh program lain, dan menggunakan penunjuk Ia juga. mudah untuk tatasusunan untuk keluar dari sempadan.
Mekanisme pengumpulan sampah: Pengaturcara tidak perlu mengawal terus kitar semula memori Pengumpul sampah secara automatik menuntut semula memori yang tidak digunakan di latar belakang. Elakkan program daripada terlupa mengitar semula dalam masa, menyebabkan kebocoran memori. Elakkan ralat program dalam mengitar semula memori perpustakaan kelas teras program, menyebabkan ranap sistem.
Mekanisme pengendalian pengecualian: Mekanisme pengecualian Java bergantung terutamanya pada lima kata kunci cuba, tangkap, akhirnya, balingan dan balingan.
Penukaran jenis paksa: Penukaran paksa hanya boleh berjaya jika peraturan penukaran paksa dipenuhi.
Java menggunakan penyulitan kunci awam (PKC) semasa penghantaran kod bait.
Menyediakan mekanisme keselamatan empat peringkat dalam persekitaran berjalan: pengesah kod byte - pemuat kelas - susun atur memori masa jalan - sekatan akses fail.
Pengkompil menjana format fail objek neutral seni bina, yang merupakan kod yang disusun, selagi terdapat sistem masa jalan Java , ia boleh dijalankan pada banyak pemproses. Pengkompil Java mencapai ciri ini dengan menjana arahan bytecode yang bebas daripada seni bina komputer tertentu. Bytecode yang direka dengan baik bukan sahaja boleh ditafsir dan dilaksanakan dengan mudah pada mana-mana mesin, tetapi juga boleh diterjemahkan dengan cepat ke dalam kod mesin tempatan.
Bytecode ialah struktur neutral dan tiada kaitan dengan struktur komputer.
Ciri terbesar bahasa Java ialah sokongan kemudahalihannya Maksudnya program yang sama boleh digunakan dalam sistem pengendalian yang berbeza akan, yang mengurangkan kesukaran pembangunan Jika anda ingin mencapai kawalan mudah alih di Jawa, anda bergantung terutamanya pada JVM (Java Virtual Machine). Mesin maya Java ialah komputer yang disimulasikan oleh perisian dan perkakasan Semua program boleh dilaksanakan selagi ia disokong oleh mesin maya Java, dan versi JVM yang berbeza wujud pada sistem pengendalian yang berbeza, supaya Dayakan mudah alih.
Hak cipta milik pengarang. Untuk pencetakan semula komersial, sila hubungi pengarang untuk mendapatkan kebenaran Untuk pencetakan semula bukan komersial, sila nyatakan sumbernya.
Sesetengah orang mengatakan bahawa Java disusun. Kerana semua kod Java mesti disusun, .java tidak boleh dilaksanakan tanpa penyusunan. Sesetengah orang juga mengatakan bahawa Java ditafsirkan. Oleh kerana kod Java tidak boleh dijalankan secara langsung selepas penyusunan, ia ditafsirkan dan dijalankan pada JVM, jadi ia ditafsirkan.
Pengkompil tepat masa boleh memantau kod yang kerap dilaksanakan dan mengoptimumkannya untuk meningkatkan kelajuan. Pengoptimuman yang lebih kompleks adalah untuk menghapuskan panggilan fungsi (iaitu inlining). Pengkompil tepat dalam masa mengetahui kelas mana yang telah dimuatkan. Inlining boleh digunakan jika fungsi tertentu tidak akan ditindih berdasarkan set kelas yang sedang dimuatkan. Pengoptimuman juga boleh dibuat asal jika perlu.
bermaksud program ini (suatu proses) menjana lebih daripada satu thread semasa ia dijalankan.
Java pada dasarnya adalah bahasa statik, bukan bahasa dinamik. Ciri luar biasa bahasa dinamik ialah struktur atur cara atau jenis pembolehubah boleh diubah apabila program dijalankan. Java bukan bahasa dinamik, tetapi Java mempunyai tahap dinamik tertentu, yang dicerminkan dalam aspek berikut:
Instasiasi kelas boleh menjana objek Kitaran hayat objek merangkumi tiga peringkat: penjanaan, penggunaan dan penyingkiran.
Apabila tiada rujukan kepada objek, objek tersebut menjadi objek yang tidak berguna. Pengumpul sampah Java secara automatik mengimbas kawasan memori dinamik objek, mengumpul dan melepaskan objek yang tidak dirujuk sebagai sampah. Apabila sistem kehabisan memori atau memanggil System.gc() untuk memerlukan kutipan sampah, benang kutipan sampah berjalan serentak dengan sistem.
3. Kelas
Pelaksanaan kelas di Java terdiri daripada dua bahagian: pengisytiharan kelas dan badan kelas.
[public][abstract|final] class className [extends superclassName] [implements interfaceNameList]{……}
Antaranya, pengubah umum, abstrak dan akhir menerangkan atribut kelas, className ialah nama kelas dan superclassName ialah induk kelas Nama kelas, interfaceNameList ialah senarai antara muka yang dilaksanakan oleh kelas.
class className{ [public | protected | private ] [static] [final] [transient] [volatile] type variableName;//成员变量 [public | protected | private ] [static] [final | abstract] [native] [synchronized] returnType methodName([paramList]) [throws exceptionList]{ statements }//成员方法 }
Maksud kelayakan pembolehubah ahli:
akhir: kaedah tidak boleh ditindih Untuk jenis data ringkas, Java melaksanakan pemindahan nilai Kaedah menerima nilai parameter, tetapi tidak boleh mengubah nilai parameter ini. Jika anda ingin menukar nilai parameter, gunakan jenis data rujukan, kerana jenis data rujukan menghantar kepada kaedah alamat data dalam ingatan, dan operasi pada data dalam kaedah boleh menukar nilai data .
(2) Parameter tersirat ialah medan contoh kelas yang dipanggil dalam kaedah kelas. Medan contoh yang dipanggil ialah parameter tersirat.
7 Kaedah dengan parameter boleh ubah
package com.nezha.javase; public class Test1107 { private int score; /** * x为显式参数 * score为隐式参数 * @param x */ public void addScore(int x){ int temp = this.score + x; score += temp; } }
Ellipsis di sini... adalah sebahagian daripada kod Java yang menunjukkan bahawa kaedah ini boleh menerima sebarang bilangan objek.
Sebenarnya, kaedah printf menerima dua parameter, satu ialah rentetan format, dan satu lagi ialah tatasusunan Object[], yang menyimpan semua parameter (jika parameter adalah jenis asas, autoboxing akan menukarnya menjadi objek).
1. membentuk sempadan ke luar Hanya antara muka dan kaedah yang terhad dikhaskan untuk berinteraksi dengan dunia luar. Prinsip enkapsulasi adalah untuk menghalang bahagian selain objek daripada mengakses dan mengendalikan sifat dalaman objek sesuka hati, dengan itu menghalang dunia luar daripada merosakkan sifat dalaman objek.
(1)可以通过对类的成员设置一定的访问权限,实现类中成员的信息隐藏。
(2)封装的优点
(3)代码实例
package com.nezha.javase; public class Student { //将 id、name 和 age 属性设置为私有的,只能本类才能访问,其他类都访问不了,如此就对信息进行了隐藏。 private Integer id; private String name; private Integer age; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
子类的对象拥有父类的全部属性与方法,称作子类对父类的继承。
Java中通过super来实现对父类成员的访问,super用来引用当前对象的父类。super 的使用有三种情况:
对象的多态性是指在父类中定义的属性或方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或方法在父类及其各个子类中具有不同的语义。
Java的多态性体现在两个方面:由方法重载实现的静态多态性(编译时多态)和方法重写实现的动态多态性(运行时多态)。
依赖关系表示一个类依赖于另一个类的定义。例如,一个人(Person)可以买车(car)和房子(House),Person类依赖于Car类和House类的定义,因为Person类引用了Car和House。与关联不同的是,Person类里并没有Car和House类型的属性,Car和House的实例是以参量的方式传入到buy()方法中去的。一般而言,依赖关系在Java语言中体现为局域变量、方法的形参,或者对静态方法的调用。
关联(Association)关系是类与类之间的联接,它使一个类知道另一个类的属性和方法。关联可以是双向的,也可以是单向的。在Java语言中,关联关系一般使用成员变量来实现。
Agregasi ialah sejenis persatuan dan merupakan persatuan yang kuat. Agregasi ialah hubungan antara keseluruhan dan individu. Sebagai contoh, hubungan antara kategori kereta dan kategori enjin, kategori tayar dan kategori bahagian lain ialah hubungan antara keseluruhan dan individu. Seperti perhubungan persatuan, perhubungan pengagregatan juga dilaksanakan melalui pembolehubah contoh. Walau bagaimanapun, kedua-dua kelas yang terlibat dalam hubungan persatuan berada pada tahap yang sama, manakala dalam hubungan pengagregatan, kedua-dua kelas berada pada tahap yang tidak sama, satu mewakili keseluruhan dan satu lagi mewakili bahagian.
Perhubungan Komposisi (Komposisi) ialah sejenis perhubungan persatuan dan merupakan perhubungan yang lebih kuat daripada perhubungan pengagregatan. Ia memerlukan objek yang mewakili keseluruhan dalam hubungan pengagregatan biasa bertanggungjawab untuk mewakili kitaran hayat sebahagian objek, dan hubungan gabungan tidak boleh dikongsi. Objek yang mewakili keseluruhan perlu bertanggungjawab untuk memastikan objek bahagian itu hidup dan dalam beberapa kes memusnahkan objek yang bertanggungjawab untuk bahagian tersebut. Objek yang mewakili keseluruhan boleh menghantar objek yang mewakili bahagian kepada objek lain, yang bertanggungjawab untuk kitaran hayat objek ini. Dalam erti kata lain, objek yang mewakili bahagian itu hanya boleh digabungkan dengan satu objek pada setiap saat, dan yang terakhir bertanggungjawab secara eksklusif untuk kitaran hayat. Bahagian mempunyai kitaran hayat yang sama seperti keseluruhan.
Pembelajaran yang disyorkan: "Tutorial pembelajaran java"
Atas ialah kandungan terperinci Bercakap secara ringkas tentang berorientasikan objek Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!