Meaningless Drivel is fun!*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes from mock exam Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "from mock exam" Watch "from mock exam" New topic
Author

from mock exam

prema Arvind
Greenhorn

Joined: Apr 04, 2003
Posts: 3
An interface can never be private or protected
True or False
pls explain....
Corey McGlone
Ranch Hand

Joined: Dec 20, 2001
Posts: 3271
From the JLS, §9.1 Interface Declarations:

An interface declaration may include interface modifiers:
InterfaceModifiers:
InterfaceModifier
InterfaceModifiers InterfaceModifier
InterfaceModifier: one of
public protected private
abstract static strictfp
The access modifier public is discussed in �6.6. Not all modifiers are applicable to all kinds of interface declarations. The access modifiers protected and private pertain only to member interfaces within a directly enclosing class declaration (�8.5) and are discussed in �8.5.1. The access modifier static pertains only to member interfaces (�8.5, �9.5). A compile-time error occurs if the same modifier appears more than once in an interface declaration.

So, I'd go with false.
[ April 07, 2003: Message edited by: Corey McGlone ]

SCJP Tipline, etc.
Roger Chung-Wee
Ranch Hand

Joined: Sep 29, 2002
Posts: 1683
An interface is not part of the class hierarchy - unrelated classes can implement the same interface. Top-level interfaces have default package access (like top-level classes). Only public and strictfp modifiers are allowed for top-level interfaces (abstract is also allowed but discouraged by the JLS).
However, a member interface may be protected or private, but only if declared in a top-level class.


SCJP 1.4, SCWCD 1.3, SCBCD 1.3
prema Arvind
Greenhorn

Joined: Apr 04, 2003
Posts: 3
Thank you..
Martin Smith
Greenhorn

Joined: Apr 05, 2003
Posts: 22
Roger,
Would not an interface always be abstract by definition - as all the methods are abstract?
Roger Chung-Wee
Ranch Hand

Joined: Sep 29, 2002
Posts: 1683
Indeed, every interface (top-level or member) is implicitly abstract, but the JLS rather sternly advises against using this obsolete keyword.
Corey McGlone
Ranch Hand

Joined: Dec 20, 2001
Posts: 3271
Originally posted by Roger Chung-Wee:
Indeed, every interface (top-level or member) is implicitly abstract, but the JLS rather sternly advises against using this obsolete keyword.

The keyword abstract is not obsolete - it is only obsolete with respect to being a modifier for an Interface. Here is the direct quote from the JLS, §9.1.1.1 abstract Interfaces:

Every interface is implicitly abstract. This modifier is obsolete and should not be used in new programs.
 
 
subject: from mock exam