1. ประเภทข้อมูลพื้นฐาน
การทำศัลยกรรมพลาสติก:
ไบต์ 1 ไบต์
สั้น 2 ไบต์
int 4 ไบต์
ยาว 8 ไบต์
อักขระ:
ถ่าน 2 ไบต์
หมายเลขจุดลอยตัว:
ลอย 4 ไบต์
สองเท่า 8 ไบต์
บูลีน:
บูลีน 1 ไบต์
2.java 7 เพิ่มจำนวนเต็มไบนารีใหม่
เริ่มต้นด้วย 0b หรือ 0B
3. อักขระใน Java เป็นการเข้ารหัส Unicode 16 บิต รูปแบบคือ '/uXXXX' โดยที่ xxxx แทนจำนวนเต็มฐานสิบหก
4. Java กำหนดค่าอนันต์บวก ค่าอนันต์ลบ และศูนย์
บวกอนันต์ = จำนวนบวกหารด้วย 0
ลบอนันต์ = จำนวนลบหารด้วยศูนย์
หาร 0.0 ด้วย 0.0 หรือใช้รากที่สองของจำนวนลบเพื่อให้ได้ค่าไม่ใช่ตัวเลข
5. ประเภทบูลีนใน Java สามารถเป็นจริงและเท็จเท่านั้น
6. ไม่มีอาร์เรย์หลายมิติใน java
ดูเหมือนว่าอาร์เรย์หลายมิติในภาษา C ไม่ใช่อาร์เรย์จริง ตัวอย่างเช่น a[3][4], a[0] a[1] a[2] เป็นอาร์เรย์จริง และเต็มไปด้วยที่อยู่ และ เป็นไดนามิกในภาษา C เช่นเดียวกับอาร์เรย์ที่จัดสรรเป็น
int [][] b = ใหม่ int[3][4]
7. วิธีการคอมไพล์ด้วยแพ็คเกจใน Java
javac -d . Hello.java จะสร้างแผนผังไดเร็กทอรีในไดเร็กทอรีปัจจุบัน
รันชื่อแพ็คเกจ Java ชื่อคลาส
8. ฟิลด์ของอ็อบเจ็กต์ใน Java polymorphism ไม่มี polymorphism เช่น parent class object = new subclass () object.field เรียกว่า parent class แม้ว่าฟิลด์นั้นจะครอบคลุมอยู่ในคลาสย่อยก็ตาม
9. อินสแตนซ์ของตัวดำเนินการ
รูปแบบ: ชื่อตัวแปรอ้างอิง อินสแตนซ์ของชื่อคลาส (หรืออินเทอร์เฟซ) ใช้เพื่อกำหนดว่าออบเจ็กต์ก่อนหน้าเป็นอินสแตนซ์ของคลาส คลาสย่อย หรือคลาสการใช้งานของออบเจ็กต์ต่อไปนี้ หากเป็นเช่นนั้น จะส่งกลับค่าจริง หรือไม่เช่นนั้นจะส่งกลับค่าเท็จ
10. การแปลงระหว่างประเภทข้อมูลพื้นฐานและคลาสการห่อหุ้มที่สอดคล้องกันใน Java
int = 1;
จำนวนเต็ม A = จำนวนเต็มใหม่ (a);
a = A.intValue();
เช่นเดียวกับประเภทอื่น ๆ
11. ตัวอย่างคลาสซิงเกิลตัน
โมฆะสาธารณะคง main (String [] args)
-
ซิงเกิลตัน s1 = ซิงเกิลตัน.getInstance();
ซิงเกิลตัน s2 = ซิงเกิลตัน.getInstance();
System.out.println(s1 == s2);
-
-
ฟิลด์คลาส: ต้องระบุค่าเริ่มต้นในบล็อกการเริ่มต้นแบบคงที่หรือเมื่อประกาศฟิลด์
ฟิลด์อินสแตนซ์: จะต้องประกาศในบล็อกการเริ่มต้นที่ไม่คงที่ หรือโดยการระบุค่าเริ่มต้นหรือตัวสร้างเมื่อประกาศฟิลด์
13.ตัวแปรสุดท้ายจะต้องเริ่มต้นอย่างชัดเจน ระบบจะไม่เริ่มต้นตัวแปรสุดท้ายโดยปริยาย
14.java จะใช้ค่าคงที่พูลเพื่อจัดการค่าคงที่สตริงโดยตรงที่เคยใช้มาก่อน เช่น: String a = "java"; ระบบจะบันทึกสตริงค่าคงที่ "java" ไว้ในพูลค่าคงที่ และเมื่อ String b = "java"; ถูกดำเนินการอีกครั้ง a == b เป็นจริง
15. วิธีการสุดท้ายไม่สามารถแทนที่ได้ และคลาสสุดท้ายไม่สามารถสืบทอดได้
หากใช้วิธีส่วนตัว จะเหมือนกับวิธีส่วนตัวขั้นสุดท้าย
ถ้าเมธอดที่ถูกแก้ไขด้วย Final ปรากฏในคลาสย่อย แสดงว่ามันถูกกำหนดใหม่โดยคลาสย่อย และไม่เกี่ยวข้องกับคลาสพาเรนต์
16. คลาสที่ไม่เปลี่ยนรูป: ฟิลด์ของคลาสนี้ไม่สามารถเปลี่ยนแปลงได้หลังจากการสร้าง Java มีคลาส wrapper ตัวแปรพื้นฐานแปดคลาส และคลาสสตริงมีทั้งคลาสที่ไม่เปลี่ยนรูป
17. คลาสที่ไม่เปลี่ยนรูปซึ่งแคชอินสแตนซ์
บูลีนสาธารณะเท่ากับ (Object obj)
-
ถ้า (นี่ == obj)
กลับเป็นจริง;
ถ้า (obj != null && obj.getClass() == CacheImmutale.class)
-
CacheImmutale ci = (CacheImmutale)obj;
กลับ name.equals(ci.getName());
-
กลับเท็จ;
-
สาธารณะ int hashCode()
-
ชื่อกลับ.hashCode();
-
-
CacheImmuteTest คลาสสาธารณะ
-
โมฆะสาธารณะคง main (String [] args)
-
CacheImmutale c1 = CacheImmutale.valueOf("สวัสดี");
CacheImmutale c2 = CacheImmutale.valueOf("สวัสดี");
System.out.println(c1 == c2);
-
-
นอกจากนี้ยังมี java.lang.Integer ที่จัดทำโดย java ซึ่งใช้กลไกการแคชเพื่อสร้างตัวเลขระหว่าง -128-127
จำนวนเต็ม in2 = จำนวนเต็ม.valueOf(6);
จำนวนเต็ม in3= จำนวนเต็ม valueOf(6);
in2 == in3 เป็นจริง;
18. แบบคงที่และแบบนามธรรมไม่สามารถแก้ไขวิธีการในเวลาเดียวกันได้
19. คลาสสามารถมีคลาสพาเรนต์และปรับใช้หลายอินเทอร์เฟซ ในอินเทอร์เฟซ Filed เป็นแบบสาธารณะ คงที่ และขั้นสุดท้าย และวิธีการเป็นแบบนามธรรมสาธารณะ
20. เมื่อเมธอดของคลาสภายในที่ไม่คงที่เข้าถึงตัวแปร ลำดับการค้นหาคือ: อันดับแรกภายในเมธอดในคลาสภายใน -> คลาสภายใน -> หากไม่พบในคลาสภายนอก จะเกิดข้อผิดพลาดในการคอมไพล์
DiscernVariable คลาสสาธารณะ
-
ส่วนตัว String prop = "ตัวแปรอินสแตนซ์ของคลาสภายนอก";
คลาสส่วนตัว InClass
-
ส่วนตัว String prop = "ตัวแปรอินสแตนซ์ของคลาสภายใน";
ข้อมูลโมฆะสาธารณะ()
-
String prop = "ตัวแปรท้องถิ่น";
System.out.println("ค่าฟิลด์ของคลาสภายนอก: " + DiscernVariable.this.prop);
System.out.println("ค่าฟิลด์ของคลาสภายใน: " + this.prop);
System.out.println("ค่าของตัวแปรท้องถิ่น: " + prop);
-
-
การทดสอบโมฆะสาธารณะ ()
-
InClass ใน = InClass ใหม่ ();
in.ข้อมูล();
-
โมฆะสาธารณะคง main (String [] args)
-
ใหม่ DiscernVariable().test();
-
-
22. เข้าถึงคลาสภายในภายนอกคลาสภายนอก
เข้าถึงคลาสภายในที่ไม่คงที่: outclass.Inclass varname = new outclass().new InClass();
เข้าถึงคลาสภายในแบบคงที่: outclass.Inclass varname = new outclass.Inclass();
คลาสออก
-
คลาสอิน
-
สาธารณะใน()
-
System.out.println("ตัวสร้างคลาสภายในแบบไม่คงที่");
-
-
-
คลาสสาธารณะCreatInnerInstance
-
โมฆะสาธารณะคง main (String [] args)
-
Out.In in = ออกใหม่().เข้าใหม่();
-
รหัสข้างต้นสามารถเขียนแยกกันได้เป็น:
ออก.เข้า;
ออก ออก = ใหม่ ออก();
ใน = out.new ใน ();
-
-
-
คลาส SubClass ขยาย Out.In
-
//แสดง Constructor ที่กำหนด SubClass
คลาสย่อยสาธารณะ (ออก)
-
//แสดง Constructor ที่เรียก In ผ่านอ็อบเจ็กต์ที่ถูกถ่ายโอน
ออก.ซุปเปอร์();
-
-
คลาส StaticOut
-
คลาสคงที่ StaticIn
-
สาธารณะ StaticIn ()
-
System.out.println("ตัวสร้างคลาสภายในแบบคงที่");
-
-
-
CreatStaticInnerInstance คลาสสาธารณะ
-
โมฆะสาธารณะคง main (String [] args)
-
StaticOut.StaticIn ใน = StaticOut.StaticIn ใหม่ ();
-
รหัสข้างต้นสามารถเขียนแยกกันได้เป็น:
StaticOut.StaticIn ใน;
ใน = StaticOut.StaticIn ใหม่ ();
-
-
-
คลาส SubClass ขยาย StaticOut.StaticIn
-
//ไม่จำเป็นต้องสร้างอินสแตนซ์คลาสภายใน
-