• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

why not nullpointer exception?

 
saikrishna cinux
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?
 
Neelesh Bodas
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 ]
 
Gowher Naik
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
 
Kaush Kane
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???
 
Jon Lee
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
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic