Win a copy of Testing JavaScript Applications this week in the HTML Pages with CSS and JavaScript forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Bear Bibeault
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
Sheriffs:
  • Tim Cooke
  • Liutauras Vilda
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • fred rosenberger
  • salvin francis
Bartenders:
  • Piet Souris
  • Frits Walraven
  • Carey Brown

from mock exam

 
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
An interface can never be private or protected
True or False
pls explain....
 
Ranch Hand
Posts: 3271
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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 ]
 
Ranch Hand
Posts: 1683
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
prema Arvind
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you..
 
Greenhorn
Posts: 22
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Roger,
Would not an interface always be abstract by definition - as all the methods are abstract?
 
Roger Chung-Wee
Ranch Hand
Posts: 1683
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 3271
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

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.

 
So it takes a day for light to pass through this glass? So this was yesterday's tiny ad?
Thread Boost feature
https://coderanch.com/t/674455/Thread-Boost-feature
    Bookmark Topic Watch Topic
  • New Topic