Win a copy of Bad Programming Practices 101 (e-book) this week in the Beginning Java forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

why not nullpointer exception?  RSS feed

 
Ranch Hand
Posts: 689
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator


hi here getMyClass is returning null but it is not throwing nullpointer exception ?

why?
 
Ranch Hand
Posts: 107
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
because myName is a static member of the class. The fact that java allows you to reference a static member using the instance of the class is simply a syntactic sugar, it doesnot use the instance reference to retrive the value of the member
[ August 23, 2006: Message edited by: Neelesh Bodas ]
 
Ranch Hand
Posts: 643
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator


Check code above
Run above code as it is and see output
Remove static keyword at line 2 and run above code and see output
 
Ranch Hand
Posts: 37
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

public class returnNull{
static String myName="SCJP"; //line 2
public static void main(String args[]){
returnNull r1=new returnNull();
r1=null;
System.out.println(r1.myName);
}
}



I tried running the above code. I m getting the o/p as "SCJP" and not Null pointer exception. Could you explain me why???
 
Ranch Hand
Posts: 134
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Neelesh Bodas has already given the answer......
 
Gowher Naik
Ranch Hand
Posts: 643
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

As we know static variables or static methods can be executed by class
name also so The compiler replaces line System.out.println(r1.myName);
as System.out.println(returnNull.myName); this is why there is no null
point exception.
Check the code above
 
Aaaaaand ... we're on the march. Stylin. Get with it tiny ad.
Why should you try IntelliJ IDEA ?
https://coderanch.com/wiki/696337/IntelliJ-IDEA
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!