Java Annotation เป็นแท็กที่แสดงข้อมูลเมตา เช่น แนบกับคลาส อินเตอร์เฟส เมธอด หรือฟิลด์ เพื่อระบุข้อมูลเพิ่มเติมที่คอมไพเลอร์ Java และ JVM สามารถใช้ได้
คำอธิบายประกอบใน Java ถูกใช้เพื่อให้ข้อมูลเพิ่มเติม ดังนั้นจึงเป็นตัวเลือกทางเลือกสำหรับส่วนต่อประสานตัวทำเครื่องหมาย XML และ Java
เราจะเริ่มต้นด้วยคำอธิบายประกอบที่มีอยู่แล้วภายในก่อนที่จะสร้างและใช้คำอธิบายประกอบที่กำหนดเอง
คำอธิบายประกอบ Java ในตัว
Java มีคำอธิบายประกอบในตัวหลายรายการ คำอธิบายประกอบบางรายการใช้กับโค้ด Java ในขณะที่คำอธิบายประกอบอื่นๆ ใช้กับคำอธิบายประกอบอื่นๆ
เริ่มต้นด้วยคำอธิบายประกอบในตัว
คำอธิบายประกอบ @Override ช่วยให้แน่ใจว่าเมธอดคลาสย่อยจะแทนที่เมธอดคลาสพาเรนต์ หากไม่เป็นเช่นนั้น จะเกิดข้อผิดพลาดในการคอมไพล์
บางครั้งเราทำผิดพลาดโง่ๆ เช่น การสะกดผิด ด้วยเหตุนี้ จึงควรใช้คำอธิบายประกอบ @Override เพื่อให้แน่ใจว่ามีการแทนที่เมธอด
class Animal{
void eatSomething(){System.out.println("eating something");}
}
class Dog extends Animal{
@Override
void eatsomething(){System.out.println("eating foods");}//should be eatSomething
}
class TestAnnotation1{
public static void main(String args[]){
Animal a = new Dog();
a.eatSomething();
}}
Compile Time Error
คำอธิบายประกอบ @SuppressWarnings ใช้เพื่อระงับคำเตือนของคอมไพเลอร์
import java.util.*;
class TestAnnotation2{
@SuppressWarnings("unchecked")
public static void main(String args[]){
ArrayList list = new ArrayList();
list.add("sonoo");
list.add("vimal");
list.add("ratan");
for(Object obj:list)
System.out.println(obj);
}}
Now no warning at compile time.
คำอธิบายประกอบ @Deprecated บ่งชี้ว่าวิธีนี้เลิกใช้แล้ว และคอมไพเลอร์จะพิมพ์คำเตือน แจ้งผู้ใช้ว่าอาจถูกลบในเวอร์ชันต่อๆ ไป ดังนั้นจึงเป็นการดีกว่าที่จะไม่ใช้วิธีการดังกล่าว
class A{
void m(){System.out.println("hello m");}
@Deprecated
void n(){System.out.println("hello n");}
}
class TestAnnotation3{
public static void main(String args[]){
A a = new A();
a.n();
}}
Note: Test.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
hello n
คำอธิบายประกอบแบบกำหนดเองของ Java หรือที่เรียกว่าคำอธิบายประกอบที่ผู้ใช้กำหนดเองของ Java นั้นง่ายต่อการสร้างและใช้งาน มีการประกาศคำอธิบายประกอบโดยใช้องค์ประกอบ @interface ตัวอย่างเช่น:
@interface MyAnnotations{}
มีบางจุดที่โปรแกรมเมอร์ควรจำไว้
3. ไม่ควรมีพารามิเตอร์ในวิธีการ
4. ในการกำหนดคำอธิบายประกอบ เราควรเพิ่ม @ ก่อนคำหลักของอินเทอร์เฟซ
5. อาจทำให้วิธีการเป็นค่าเริ่มต้น
เมื่อวานนี้ เราปิดการแข่งขัน Eurovision Song Contest ปีนี้ด้วยตอนจบที่สดใสและวุ่นวาย โดย Loreen นักร้องชาวสวีเดนคว้าถ้วยรางวัลกลับบ้าน กลายเป็นผู้หญิงคนแรกที่ชนะสองครั้งและนำมงกุฎกลับมายังสวีเดน 50 ปีหลังจาก ABBA ชนะการแข่งขัน กับ “วอเตอร์ลู” พวกเขากลายเป็นหนึ่งในการแสดงที่ยิ่งใหญ่ที่สุดในวงการเพลงป๊อป
เมื่อคุณโตขึ้น คุณมักจะได้รับการบอกว่าโลกเป็นอย่างที่มันเป็น และชีวิตของคุณก็แค่ใช้ชีวิตอยู่ในโลก ไม่เสี่ยงชีวิต แค่เดินตามเส้นทางที่กำหนดและตายในที่สุด และพยายามอย่า ทุบกำแพงมากเกินไป แต่นั่นเป็นชีวิตที่จำกัดมาก
เรามักพบปัญหาในการดำเนินการตามสิ่งที่เรารู้ว่าดีสำหรับเรา ตั้งแต่การบอกคนสำคัญว่าเรารักเขาไปจนถึงการจดจำการพูดคุยอย่างโจรสลัด จะมีคนที่อ้างว่าเหตุการณ์หนึ่งวัน สัปดาห์ หรือเดือนไม่จำเป็น เพราะพวกเขาทำสิ่งเหล่านั้นอยู่แล้ว
หากเราต้องการจะเติบโตบนโลกใบนี้ต่อไป เราจะต้องสนทนาที่อันตราย คนที่ท้าทายสิ่งที่เราทำ สิ่งที่เรากำลังทำ และสิ่งที่เรากำลังจะทำต่อไป (หรือกำลังวางแผนที่จะทำ)
“เขาจะปกป้องฉันเมื่อฉันตกอยู่ในอันตราย เขาจะซ่อนฉันไว้ในเต็นท์ของเขา
ในภูมิทัศน์ทางธุรกิจที่มีการพัฒนาอย่างรวดเร็วในปัจจุบัน แนวคิดของการทำงานแบบผสมผสานและการทำงานระยะไกลได้รับแรงผลักดันอย่างที่ไม่เคยมีมาก่อน ในขณะที่บริษัทต่าง ๆ ยังคงปรับตัวให้เข้ากับความต้องการและความคาดหวังที่เปลี่ยนแปลงไปของพนักงาน ผู้เชี่ยวชาญจากหลากหลายสาขาได้มารวมตัวกันเพื่อหารือเกี่ยวกับประโยชน์ ความท้าทาย และอนาคตของวิธีการทำงานที่เปลี่ยนแปลงนี้