File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes jiris mock question Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "jiris mock question" Watch "jiris mock question" New topic
Author

jiris mock question

Shiva Mohan
Ranch Hand

Joined: Jan 05, 2006
Posts: 477



I have got two errors.

Chapter3.java:74: cannot resolve symbol
symbol : method method (java.lang.String)
location: class Test
test.method("0");
^
Chapter3.java:81: cannot resolve symbol
symbol : variable str
location: class Test
System.out.println(t.str);


1)i have no idea why this line1 is not compiling .
please help me to correct the preceding errors?

2)what is the result of this program.i thought,this would print 0,0,0.Any ideas?
Chandra Bhatt
Ranch Hand

Joined: Feb 28, 2007
Posts: 1707
Hi Shiva,

Where is definition for class Test? That's why the error is!


Thanks and Regards,
cmbhatt


cmbhatt
Shiva Mohan
Ranch Hand

Joined: Jan 05, 2006
Posts: 477
Chandra, Thanks.one more doubt

why t.str is displaying null insteadof 0 .Can you please give explanation of this?

when i make t as an instance variable,it displayed statckoverflowerror at runtime.what is going on behind this?
Keith Lynn
Ranch Hand

Joined: Feb 07, 2005
Posts: 2367
I think you meant to name it Chapter3 and not Test.
Keith Lynn
Ranch Hand

Joined: Feb 07, 2005
Posts: 2367
when t is a static reference, it refers to an instance of Chapter3. However, str is an instance variable that is not initialized by a constructor, so it is given its default value.

The reason you get a StackOverflowError when you make t an instance reference is that when a new instance of an object is created, its instance variable initializers are executed before the constructor is executed.

So by having the instance creation statement in the instance variable initializer, you basically have an infinite loop. Eventually the stack will be full.
Chandra Bhatt
Ranch Hand

Joined: Feb 28, 2007
Posts: 1707


why t.str is displaying null insteadof 0 .Can you please give explanation of this?

when i make t as an instance variable,it displayed statckoverflowerror at runtime.what is going on behind this?


String str; (member variable of the class Chapter3)
Its default value is null not 0. So when you used t.str obviously it will print null and not 0.

StackOverFlowException:
Are you doing something like this:


The instance initializer executes before the constructor.

Try this code too to have idea...


Thanks and Regards,
cmbhatt
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: jiris mock question