اذهب إلى المحتوى
  • 0

ما سبب ظهور الخطأ NullPointerException في جافا

Shahad Mohammad

السؤال

هل يمكن اخباري ما سبب هذا الخطا؟

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "MyStore.pro.login2()" because "Main.Hmi.pro" is null

 

الذي قمت به ان كلاس main يستدعي كلاسHmi  وداخل كلاس Hmi  عملت import لكلاس pro وقمت باستدعاء الدالة login2() ولكن يعطيني هذا الخطا ولا اعلم سببه

 

تم التعديل في بواسطة Hassan Hedr
توضيح العنوان
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

الخطأ يخبرك أن المتغير pro قيمته null ولا يمكن استدعاء التابع login2 منه، يرجى إرفاق الشيفرة المتعلقة بالخطأ ضمن نص السؤال حتى يتم مساعدتك بشكل أفضل

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
  •  
بتاريخ منذ ساعة مضت قال Hassan Hedr:

الخطأ يخبرك أن المتغير pro قيمته null ولا يمكن استدعاء التابع login2 منه، يرجى إرفاق الشيفرة المتعلقة بالخطأ ضمن نص السؤال حتى يتم مساعدتك بشكل أفضل

package Main;

import MyStore.pro;


public class Hmi {

     static pro pro;
   
   public static void start(){
   
        Hmi.pro.login2();
     
     } 
     
}

    }
بتاريخ منذ ساعة مضت قال Hassan Hedr:

الخطأ يخبرك أن المتغير pro قيمته null ولا يمكن استدعاء التابع login2 منه، يرجى إرفاق الشيفرة المتعلقة بالخطأ ضمن نص السؤال حتى يتم مساعدتك بشكل أفضل

الفكره اني اريد استخدام الكلاس pro داخل كلاس Hmi  ما هي الطريقة ؟ عملت import فالمفترض يسمح لي لكنه يعطيني هذا الخطأ

تم التعديل في بواسطة Hassan Hedr
تنسيق الشيفرة
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 52 دقائق مضت قال Shahad Mohammad:
  •  

package Main;

import MyStore.pro;


public class Hmi {

     static pro pro;
   
   public static void start(){
   
        Hmi.pro.login2();
     
     } 
     
}

    }

الفكره اني اريد استخدام الكلاس pro داخل كلاس Hmi  ما هي الطريقة ؟ عملت import فالمفترض يسمح لي لكنه يعطيني هذا الخطأ

الخطأ لديكِ هو في عدم إسناد كائن جديد كقيمة للمتغير pro قبل استعماله، بحالتك تبقى قيمته null ويجب إنشاء كائن جديد أولًا وإسناده ثم يمكنك استخدام الكائن بشكل طبيعي،

يمكنك مباشرة ضمن التابع start إنشاء الكائن واستخدامه بشكل مشابه للتالي:

public static void start(){
  pro pro = new pro(...); // إنشاء الكائن
  pro.login2(); // استخدام الكائن مباشرة
} 

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...