Re: <identifier> expected error
On Friday, September 23, 2011 5:10:11 PM UTC-7, Roedy Green wrote:
On Fri, 23 Sep 2011 12:10:58 -0700 (PDT), Lew <lewb...@gmail.com>
wrote, quoted or indirectly quoted someone who said :
public interface NumList {
void printArray();
}
The coaching might have been phrased, "Method declarations must specify =
the return type, or 'void' if nothing is to be returned."
So I don't see "executable code" in the declaration, but "method defined=
without return type". Either way it needs to be fixed.
I think "executable code" is one of several ways of interpreting the
error.
printArray();
From a bottom up point of view looks to it like an attempt to invoke
the method printArray() which may be undefined.
I agree though your interpretation of the error fits better with what
the author intended. Someday compilers might expend effort to decide
how to interpret errors. I wrote
http://mindprod.com/jgloss/compileerrormessages.html
to at least give programmers several alternate interpretations
to choose from.
Actually, your interpretation was an eye-opener for me, Roedy. You are exa=
ctly right - depending on how you approach the code it looks either like an=
uncompilable declaration or an uncompilable command. It reminds me of the=
figure/ground optical illusion that appears to be a crone or a young lady =
depending on how your brain organizes what you see.
This can be very useful to the OP - I infer that her difficulty was the con=
flation of the two concepts, declaration and invocation, hence the ambiguit=
y in the syntax. If true, the insight is that declaration occurs in a diff=
erent place from invocation. You declare a method in an interface (or abst=
ract class). You both declare it with the signature and define it with a m=
ethod body in the implementing class. You invoke a method from inside (the=
body of) another method or constructor, which can be of the same class or =
another class.
Declare, define, invoke.
When you get further along in your studies, you'll see that as interface, i=
mplementing class, client method.
Good question and interesting insights from Roedy.
--
Lew