สุดท้าย--
สุดท้ายใช้เพื่อระบุว่าชั้นเรียนไม่สามารถรับคลาสย่อยได้
สุดท้ายใช้เพื่อระบุว่าวิธีการไม่สามารถเขียนใหม่ได้โดยคลาสย่อย
สุดท้ายใช้เพื่อแสดงค่าคงที่เมื่อตัวแปรคล้ายกับคำหลัก const ใน C/C ++
สุดท้ายใช้สำหรับตัวแปรสมาชิกเพื่อระบุว่าตัวแปรสมาชิกเป็นค่าคงที่และไม่สามารถแก้ไขได้
สุดท้ายใช้เพื่อระบุว่าตัวแปรท้องถิ่นเป็นค่าคงที่และไม่สามารถแก้ไขได้
คงที่ ---
สแตติกถูกใช้เพื่อระบุว่ามีเพียงหนึ่งสำเนาของตัวแปรนั่นคือตัวแปรสมาชิกคงที่เป็นของคลาส แต่ไม่ใช่วัตถุอินสแตนซ์คลาสเฉพาะ ตัวแปรสมาชิกชื่อคลาสที่สอดคล้องกันเสร็จสมบูรณ์ ตัวแปรสมาชิกแบบคงที่สามารถเริ่มต้นได้เมื่อกำหนดหรือไม่
Static ใช้สำหรับวิธีการเพื่อให้สามารถเรียกใช้วิธีการคงที่ผ่านชื่อคลาสโดยไม่ต้องทำอินสแตนซ์คลาส อ้างอิง
Static ใช้สำหรับชั้นเรียนซึ่งหมายถึงคลาสด้านในที่นี่ดังนั้นคุณสามารถอ้างถึงคลาสชั้นในแบบคงที่นี้ผ่านชื่อชั้นนอกที่อื่น
สแตติกยังสามารถใช้สำหรับบล็อกโค้ดคลาสที่เรียกว่าบล็อกสแตติก JVM โหลดคลาสมันจะเรียกใช้บล็อกรหัสสแตติกเหล่านี้
สิทธิ์การเข้าถึงคลาส (y/n)
||
ประชาชน
|
|
|
คำหลักสามคำที่ได้รับการปกป้องและส่วนตัวสามารถใช้สำหรับคลาส (คลาสภายใน) ตัวแปรสมาชิกและฟังก์ชั่นสมาชิก ฟังก์ชั่นเลือกสิทธิ์การเข้าถึงต่ำสุด
อินเทอร์เฟซ/ดำเนินการ/ขยาย/คลาส ―
อินเทอร์เฟซถูกใช้เพื่อประกาศอินเทอร์เฟซ
ดำเนินการใช้เพื่อใช้อินเทอร์เฟซและวิธีการทั้งหมดในอินเทอร์เฟซจำเป็นต้องใช้หลายอินเตอร์เฟสในเวลาเดียวกัน
ขยายใช้เพื่อสืบทอดคลาสแม่หรืออินเทอร์เฟซพาเรนต์
คลาสที่ใช้ในการประกาศการอนุญาตการเข้าถึง
เชิงนามธรรม-
บทคัดย่อใช้เพื่อแสดงว่าคลาสนี้เป็นคลาสนามธรรมและไม่สามารถสร้างอินสแตนซ์ได้
บทคัดย่อถูกใช้เพื่อแสดงว่าวิธีการนี้เป็นวิธีการที่เป็นนามธรรม
มามุ่งเน้นไปที่การใช้สิ่งนี้และสุดยอด:
นี้
คีย์เวิร์ด Java นี้สามารถใช้ในร่างกายของวิธีการเท่านั้น เมื่อวัตถุถูกสร้างขึ้นเครื่องเสมือน Java (JVM) จะกำหนดตัวชี้ให้กับวัตถุที่อ้างถึงตัวเองและชื่อของตัวชี้นี้คือสิ่งนี้ ดังนั้นสิ่งนี้สามารถใช้ในวิธีที่ไม่คงที่ในชั้นเรียนเท่านั้น และสิ่งนี้เกี่ยวข้องกับวัตถุที่เฉพาะเจาะจงเท่านั้นไม่ใช่กับคลาสและวัตถุที่แตกต่างกันของคลาสเดียวกันมีความแตกต่างกัน นี่คือตัวอย่างที่ครอบคลุมโดยใช้สิ่งนี้เพื่อแสดงให้เห็นถึงปัญหา:
แพ็คเกจ org.leizhimin; การทดสอบระดับสาธารณะ {หมายเลข int ส่วนตัว; = n;} การทดสอบสาธารณะ 6 (int i, ชื่อผู้ใช้สตริง, รหัสผ่านสตริง) {// ตัวแปรสมาชิกและพารามิเตอร์มีชื่อเดียวกันและตัวแปรสมาชิกถูกบล็อก ". this.username = ชื่อผู้ใช้; รหัสผ่านนี้ = รหัสผ่าน;} // ตัวสร้างเริ่มต้นที่ไม่มีพารามิเตอร์การทดสอบสาธารณะ 6 () {สิ่งนี้ (0," ไม่ทราบ "," ว่าง "); (ชื่อสตริง) {สิ่งนี้ (1, "ว่างเปล่า"); แขก "); t1.outinfo (t1); t2.outinfo (t2);} โมฆะส่วนตัว outinfo (test6 t) {system.out.println (" ---------------- -"); system.out.println (t.number); system.out.println (t.username); system.out.println (t.password); f (); // สิ่งนี้สามารถเขียนเป็น: this.f ();} โมฆะส่วนตัว f () {// ตัวแปรท้องถิ่นมีชื่อเดียวกันกับตัวแปรสมาชิกและตัวแปรสมาชิกถูกบล็อกและตัวแปรสมาชิกจะถูกเข้าถึงในรูปแบบของ "ตัวแปรสมาชิก" x; x = this.x ++;
ผลการดำเนินการมีดังนี้:
-
ดูตัวอย่างข้างต้นเราจะอธิบายภายใต้สถานการณ์ที่จำเป็น:
ก่อนอื่นให้เรียกตัวสร้างใหม่ผ่านสิ่งนี้และการใช้งานคือสิ่งนี้ (รายการพารามิเตอร์)
ประการที่สองเมื่อพารามิเตอร์ฟังก์ชันหรือตัวแปรโลคัลในฟังก์ชั่นมีชื่อเดียวกันกับตัวแปรสมาชิกตัวแปรสมาชิกจะถูกบล็อกในเวลานี้เพื่อเข้าถึงตัวแปรสมาชิกคุณต้องใช้ "ชื่อตัวแปรสมาชิกนี้" อ้างอิงตัวแปรสมาชิก แน่นอนว่าหากไม่มีชื่อเดียวกันคุณสามารถใช้ชื่อของตัวแปรสมาชิกโดยตรงแทนที่จะเป็นเรื่องนี้มันไม่ผิดที่จะใช้มันฮ่าฮ่า
ประการที่สามในฟังก์ชั่นเมื่อคุณต้องการอ้างถึงวัตถุปัจจุบันของคลาสที่ฟังก์ชั่นใช้งานนี้โดยตรง
ในความเป็นจริงการสรุปการใช้งานเหล่านี้ทั้งหมดได้มาจากความเข้าใจที่ลึกซึ้งยิ่งขึ้นของประโยค "นี่คือตัวชี้ไปยังตัวเอง"
สุดยอด
กุญแจสำคัญของ Super นั้นคล้ายคลึงกันซึ่งก็คือตัวแปรสมาชิกที่ถูกบล็อกหรือวิธีการสมาชิกจะปรากฏให้เห็นหรือใช้เพื่ออ้างถึงตัวแปรสมาชิกที่ถูกบล็อกและวิธีการสมาชิกสมาชิก
อย่างไรก็ตาม Super ถูกใช้ในคลาสย่อยโดยมีวัตถุประสงค์เพื่อเข้าถึงสมาชิกที่ถูกบล็อกในคลาสหลักโดยตรง ต่อไปนี้เป็นตัวอย่างของการใช้ Super อย่างครอบคลุมโดยมีสองชั้นเรียน: คลาสพ่อและคลาสย่อยของลูกชายชั้นเรียนพ่อ
แพ็คเกจ org.leizhimin; พ่อระดับสาธารณะ {สตริงสาธารณะ v = "พ่อ"; ถูกเรียกว่า! ");} พ่อสาธารณะ (สตริง V) {this.v =" วิธีการสร้างพารามิเตอร์ของคลาสพ่อ! );} โมฆะคงที่สาธารณะ (String [] args) {// todo สร้างวิธีการ stubs}} package org.leizhimin โดยอัตโนมัติ; ; ด้านหน้าของตัวสร้าง เป็นโมฆะ outinfo () {system.out.println ("วิธีการของลูกชาย outinfo () เรียกว่า"); System.out.println ("-----------"); (subclass) ตัวแปรสมาชิก v System.out.println (super.v); println (x); -"); outinfo (); // การเรียกใช้วิธี outinfo () ของ subclass this.outinfo (); // การเรียกใช้วิธี outinfo () super.outinfo (); // เรียกวิธี outinfo () ของวิธีการของ คลาสแม่} โมฆะคงที่สาธารณะ (สตริง [] args) {บุตรใหม่ (). ทดสอบ ();}}
Subclass Son Run ผลลัพธ์:
ตัวสร้างพ่อถูกเรียกว่า! ------------------------------------------------------ ------------------------------------------------------ ------------------------------------------------------ ---------------------------------------------------------- x !!! ------------------------------------------------------ ------------------------------------------------------ ------------------------------------------------------ ------------------------------------------------------ --------