Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

คลาสต่าง ๆ ใน Java มีอะไรบ้าง


ประเภทของคลาสใน Java

คลาสคอนกรีต

คลาสปกติใดๆ ที่ไม่มีเมธอดที่เป็นนามธรรมหรือคลาสที่มีการนำเมธอดทั้งหมดของคลาสพาเรนต์หรืออินเตอร์เฟสมาใช้งาน และเมธอดของคลาสนั้นจะเป็นคลาสที่เป็นรูปธรรม

ตัวอย่าง

คลาสสาธารณะ Concrete (// Concrete Class static int product (int a, int b) { return a * b; } โมฆะคงที่สาธารณะ main (สตริง args []) { int p =ผลิตภัณฑ์ (2, 3); System.out.println("สินค้า:" + p); }}

ผลลัพธ์

ผลิตภัณฑ์:6

คลาสนามธรรม

คลาสที่ประกาศด้วยคีย์เวิร์ด abstract และมีเมธอดที่เป็นนามธรรมเป็นศูนย์หรือมากกว่านั้นเรียกว่าคลาสนามธรรม คลาสนามธรรมเป็นคลาสที่ไม่สมบูรณ์ ดังนั้น ในการใช้งาน เราจำเป็นต้องขยายคลาสนามธรรมเป็นคลาสที่เป็นรูปธรรม

ตัวอย่าง

คลาสนามธรรม Animal {// abstract class parent เสียงที่เป็นนามธรรมสาธารณะที่เป็นโมฆะ (); // วิธีนามธรรม} คลาสสาธารณะ Dog expands Animal {// คลาสสุนัขขยายเสียงโมฆะสาธารณะคลาส Animal () { System.out.println ("Woof"); } โมฆะคงที่สาธารณะ main (สตริง args []) { สัตว์ a =สุนัขใหม่ (); เสียง(); }}

ผลลัพธ์

วูฟ

คลาสสุดท้าย

คลาสที่ประกาศด้วยคีย์เวิร์ดสุดท้ายคือคลาสสุดท้าย และคลาสอื่นไม่สามารถขยายได้โดยคลาสอื่น เช่น java.lang.System class

ตัวอย่าง

คลาสสุดท้าย BaseClass { โมฆะ Display () { System.out.print ("นี่คือวิธี Display () ของ BaseClass"); }}class DerivedClass ขยาย BaseClass { //Compile-time error - can't inherit final class โมฆะ Display () { System.out.print ("นี่คือวิธี Display () ของ DerivedClass"); }} คลาสสาธารณะ FinalClassDemo { โมฆะคงที่สาธารณะ main (สตริง [] arg) { DerivedClass d =ใหม่ DerivedClass (); ง.Display(); }}

ในตัวอย่างข้างต้น DerivedClass ขยาย BaseClass(ขั้นสุดท้าย) เราไม่สามารถขยายคลาสสุดท้ายได้ ดังนั้น คอมไพเลอร์จะส่งข้อผิดพลาด . โปรแกรมด้านบน ไม่มี ดำเนินการ .

ผลลัพธ์

ไม่สามารถสืบทอดจากข้อผิดพลาด BaseClassCompile-time สุดท้าย - ไม่สามารถสืบทอดคลาสสุดท้ายได้

คลาส POJO

คลาสที่มีเฉพาะตัวแปรส่วนตัวและเมธอด setter และ getter เพื่อใช้ตัวแปรเหล่านั้นเรียกว่าคลาส POJO (Plain Old Java Object) เป็นคลาสที่ห่อหุ้มอย่างเต็มที่

ตัวอย่าง

คลาส POJO { ค่า int ส่วนตัว=100; int สาธารณะ getValue () { คืนค่า; } โมฆะสาธารณะ setValue (ค่า int) { this.value =ค่า; }} การทดสอบคลาสสาธารณะ { โมฆะคงที่สาธารณะ main (สตริง args []) { POJO p =ใหม่ POJO (); System.out.println(p.getValue()); }}

ผลลัพธ์

100

คลาสคงที่

คลาสสแตติกเป็นคลาสที่ซ้อนกันหมายความว่าคลาสที่ประกาศภายในคลาสอื่นในฐานะสมาชิกสแตติกเรียกว่าคลาสสแตติก

ตัวอย่าง

<ก่อน>นำเข้า java.util.Scanner;class staticclasses { static int s; // ตัวแปรคงที่ พบโมฆะคงที่ (int a, int b) { // วิธีคงที่ System.out.println ("วิธีคงที่ในการคำนวณผลรวม"); s =a + b; System.out.println(a + "+" + b); // พิมพ์ตัวเลขสองตัว} คลาสคงที่ MyNestedClass { // คลาสสแตติก สแตติก { // บล็อกสแตติก System.out.println ("บล็อกสแตติกภายในคลาสสแตติก"); } ช่องว่างสาธารณะ disp () { int c, d; สแกนเนอร์ sc =สแกนเนอร์ใหม่ (System.in); System.out.println("ป้อนสองค่า"); c =sc.nextInt(); d =sc.nextInt(); พบ(c, d); // เรียกเมธอดแบบคงที่ System.out.println("ผลรวมของตัวเลขสองตัว-" + s); // พิมพ์ผลลัพธ์ในตัวแปรสแตติก } }} การทดสอบคลาสสาธารณะ { โมฆะสาธารณะสาธารณะหลัก (สตริง args []) { staticclasses.MyNestedClass mnc =staticclasses.MyNestedClass ใหม่ (); // วัตถุสำหรับคลาสคงที่ mnc.disp (); // การเข้าถึงเมธอดภายในคลาสสแตติก }}

ผลลัพธ์

บล็อกสแตติกภายในคลาสสแตติกป้อนค่าสองค่า 10 20 วิธีสแตติกเพื่อคำนวณ sum10+20Sum ของตัวเลขสองตัว-30

ชั้นใน

คลาสที่ประกาศภายในคลาสหรือเมธอดอื่นเรียกว่าคลาสภายใน

ตัวอย่าง

คลาสสาธารณะ OuterClass { โมฆะคงที่สาธารณะ main (สตริง [] args) { System.out.println ("Outer"); } คลาส InnerClass { โมฆะสาธารณะ inner_print () { System.out.println ("ภายใน"); } }}

ผลลัพธ์

ภายนอก