خلاصه مطلب
استثنای NullPointerException در جاوا را در قالب مثال و به صورت ویدیویی و پی دی اف آموزش داده ایم

راه های ارتباط با مدرس و نویسنده:
سایت: www.javapro.ir ایمیل: Rahman.zarie92@gmail.com کانال تلگرام: https://t.me/javalike آی دی تلگرام: https://t.me/RZUTAB اینستاگرام: https://www.instagram.com/javapro.ir
سلام.در این جلسه آموزشی قصد داریم با مثال استثنای NullPointerException در جاوا را بررسی کنیم.
استثنای NullPointerException در جاوا چیست؟ و چه زمانی رخ می دهد؟
NullPointerException یک استثنا در جاواست که هنگام اجرای برنامه رخ می دهد.وقتی در برنامه مون هنگام کدنویسی به زبان جاوا به یک شی اشاره می کنیم که مقدارش null باشد استثنای NullPointerException رخ می دهد. برای درک این مطلب به مثال زیر توجه کنید:
| package t1;public class Tester1 { public static void main(String[] args) { Object obj = null; obj.toString(); // this will throw a NullPointerException } } |
خروجی:بعد از اجرای برنامه با استثنای زیر در کنسول روبرو می شویم:
| Exception in thread "main" java.lang.NullPointerException at t1.Tester1.main(Tester1.java:7) |
• دلیل رخ دادن همچین استثنایی این است که شی obj که از نوع کلاس Object است مقدارش null است و ما با شی که مقدارش null است متد toString را صدا زده ایم.
مثال 2:
| package t1;class Person { String name;}public class Tester1 { public static void main(String[] args) { Person p[] = new Person[3]; p[0].name = "Javapro"; System.out.println(p[0].name); } } |
خروجی: بعد از اجرای برنامه با استثنای زیر در کنسول روبرو می شویم:
| Exception in thread "main" java.lang.NullPointerException at t1.Tester1.main(Tester1.java:12) |
• شی p[0] از نوع کلاس Person است اما سازنده کلاس Person را صدا نزده است که کامل ساخته شود و به همین دلیل مقدارش null است و ما با استفاده از شی p[0] که مقدارش null است متغیر name کلاس Person را صدا زده ایم که نتیجه آن رخ دادن استثنای NullPointerException می باشد.
• پس اگر به شی که مقدارش null است اشاره کنیم یا با شی که مقدارش null است کار و عملی در کدنویسی جاوای خود انجام بدهیم موجب رخ دادن استثنای NullPointerException در جاوا می شود.
• برای مثال اگر کدهای مثال 2 را به صورت زیر تغییر بدهیم خطای NullPointerException در جاوا رخ نمی دهد:
| package t1;class Person { String name;}public class Tester1 { public static void main(String[] args) { Person p[] = new Person[3]; p[0]=new Person(); p[0].name = "Javapro"; System.out.println(p[0].name); } } |
خروجی: برنامه بدون مشکل اجرا می شود و خروجی به صورت زیر است:
| Javapro |
توضیحات:
| p[0]=new Person(); |
در دستور بالا شی p[0] با صدا زدن سازنده کلاس Person به طور صحیح و کامل ساخته شده است و مقدارش null نمی باشد.
به طور خلاصه:
اغلب NullPointerException در جاوا هنگام کار فایل در جاوا،کار با String در جاوا،کار با آرایه ها در جاوا ،کار با لیست ها در جاوا و... رخ می دهد.یعنی جایی که ممکنه اشیا مقدارش null باشد و ما روی آنها عملیاتی را انجام بدهیم.
پیروز و موفق باشید
دانلود ویدیو
دانلود سورس کد+پی دی اف

