This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I u run it as java testMain the o/p is in main 0 Exception in thread "main" java.lang.NullPointerException at testMain.m1(testMain.java:12) at testMain.main(testMain.java:8)
Even if args to main are not initialised while running the program, args.length prints '0'. But if static arr a1 is not initialised and a.length is tried , it throws NullPointerException. Why so??? or i am missing something?? or args to main are automatically initialised??? Thanx in advance. Rashmi
Hi Rashmi, static arguments are also initialized. Here a is reference and so it's initialized to null. so when u say a.length it raises an exception. but true, u r right about the main() method. even if u don pass anything at run time to the program it's not initialized to null but it's something like args = new String. and so when u do args.length on main() methods parameter it says '0' as result. if u do same thing with that static int a (meaning initializing like static int a = new int) it wont give u exception but answer as '0' when u try to do a.length HTH Maulin