File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Dan's Comprehensive Exam #8 Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Dan Watch "Dan New topic

Dan's Comprehensive Exam #8

John Hembree
hired gun
Ranch Hand

Joined: Mar 07, 2003
Posts: 250

Question 10

Prints: main,B.m1
Why isn't this a compiler error at B.m1("main");? Is it because they are in the same file and that tells class C where B is? Although m1(String s) is a static method, I didn't think that B was created until new was used on it. Is the compiler doing something for me since the code is asking for B.m1("main");?
Dan Chisholm
Ranch Hand

Joined: Jul 02, 2002
Posts: 1865
Welcome to the JavaRanch!
Static methods can be invoked directly on the class: there is no need for an instance of the class. Please note the statement
does not make use of a reference to an instance of the class B. Instead, the method is invoke on the class--not on an instance of the class.

Dan Chisholm<br />SCJP 1.4<br /> <br /><a href="" target="_blank" rel="nofollow">Try my mock exam.</a>
John Hembree
hired gun
Ranch Hand

Joined: Mar 07, 2003
Posts: 250

Thanks, for the response, it started to make more sense to me after I posted it. I started to think about the other static methods that are in your exams like Math.round(0.5f);, I don't have an instance of Math either but I can use the methods.
I agree. Here's the link:
subject: Dan's Comprehensive Exam #8
It's not a secret anymore!