English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في Javaواجهةمثل الفئات، ولكنها تحتوي فقط على抽象 ومساحات final وstatic.
أطرق ثابتةتم إعلانها باستخدام كلمة المفتاح static، وستتم تحميلها مع الفئة إلى الذاكرة. يمكنك الوصول إلى الطريقة الثابتة باستخدام اسم الفئة دون الحاجة إلى إنشاء مثيل.
من Java 8، يمكنك استخدام طرق ثابتة في واجهة (مع الجسم). تحتاج إلى استخدام اسم الواجهة لتسميتها، مثل طرق الثابتة في الفئات.
في المثال التالي، نحدد طريقة ثابتة في واجهة ونصل إليها من خلال فئة تحقق من هذه الواجهة.
interface MyInterface{ public void demo(); public static void display() { System.out.println("This is a static method"); } } public class InterfaceExample{ public void demo() { System.out.println("This is the implementation of the demo method"); } public static void main(String args[]) { InterfaceExample obj = new InterfaceExample(); obj.demo(); MyInterface.display(); } }
نتائج الإخراج
هذا هو تنفيذ طريقة demo هذا هو طريقة الـ static
أالأجزاء الثابتةهذا هو الكود الذي يستخدم كلمة المفتاح static. عادةً، تستخدم هذه للتحقق من أعضاء الثابتة. يقوم JVM بتنفيذ الأجزاء الثابتة قبل طريقة main عند تحميل الكائن.
public class MyClass { static{ System.out.println("مرحبًا هذا هو الجزء الثابت"); } public static void main(String args[]){ System.out.println("هذا هو طريقة الـ main"); } }
نتائج الإخراج
مرحبًا هذا هو الجزء الثابت هذا هو طريقة الـ main
أهمًا، إذا لم يتم تعيين أجزاء الثابتة عند الت声明، فإنها ستُستخدم لتعيين الكائن/المعلمات الثابتة.
عندما تُعلن عن حقل في واجهة، يجب أن تعطيه قيمة، وإلا سيُنتج خطأ في التجميع.
interface Test{ public abstract void demo(); public static final int num; }
Test.java:3: error: = expected public static final int num; ^ 1 error
عندما تُخصص قيمة لمعلمة ثابتة نهائية في واجهة، سيُحل هذا المشكلة.
interface Test{ public abstract void demo(); public static final int num = 400; }
لذلك، لا يجب أن يحتوي واجهة على أجزاء ثابتة.