Meaningless Drivel is fun!
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Help, exam in 2 days! 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 "Help, exam in 2 days!" Watch "Help, exam in 2 days!" New topic

Help, exam in 2 days!

Lee Feder

Joined: Aug 11, 2000
Posts: 20
Could anyone tell me why this is happening here.
When I compile the following code I get an error "The method void aMethod() declared in class Test cannot override the method of the same signature declared in interface A. The access modifier is made more restrictive."
The code is in one source file (called but the same happens when it is split into four separate files.

I don't understand why this is happening. The access modifier for the method is "friendly" and the class & interface are in the same, default, package so why the problem?
The only way I can compile this file is by making the method declaration in class Test public.
I thought I understood access modifiers but this has thrown me. Please help me understand this because I've got my exam on Wednesday.
Thank you,

Joined: Aug 18, 2000
Posts: 21
the default modifiers for any interface are always public (for fields and methods).
Moreover, interface methods can't be native, static, synchronized, final, private, or protected.
Lee Feder

Joined: Aug 11, 2000
Posts: 20
Thanks for your speedy reply, yanish. You've put my mind at rest.
I'm amazed that no matter how much you think you know, there's always something manages to surprise you.
Thanks again,
I agree. Here's the link:
subject: Help, exam in 2 days!
It's not a secret anymore!