[program-java] Re: Java: Precedence... solution

  • From: "Homme, James" <james.homme@xxxxxxxxxxxx>
  • To: "program-java@xxxxxxxxxxxxx" <program-java@xxxxxxxxxxxxx>
  • Date: Mon, 20 Sep 2010 11:42:05 -0400

Hi,
I talk about the word global because before I tried to program in Java, not 
counting JAWS, as far as I can remember, I haven't written an application that 
has been in multiple files. And I've never written an object oriented 
application before I started learning Java. So global could be thought of as 
being in the same source file. So when we started this discussion, I was still 
thinking of global in the context of a variable that could be seen in the file 
that held the code for the class, but only seen outside the class if it were 
static or public. 

At this point in my learning, the book hasn't told me why I'm writing public 
static void main(String args[]) yet. I'm just trying to keep an open mind and 
accept the new knowledge and only comparing it loosely to what I'm used to 
thinking of. So far, it might be working.

Coding Fingers Crossed,

Jim

Jim Homme,
Usability Services,
Phone: 412-544-1810. Skype: jim.homme
Internal recipients,  Read my accessibility blog. Discuss accessibility here. 
Accessibility Wiki: Breaking news and accessibility advice

-----Original Message-----
From: program-java-bounce@xxxxxxxxxxxxx 
[mailto:program-java-bounce@xxxxxxxxxxxxx] On Behalf Of Sina Bahram
Sent: Monday, September 20, 2010 11:33 AM
To: program-java@xxxxxxxxxxxxx
Subject: [program-java] Re: Java: Precedence... solution

Instance variables is their name.

Take care,
Sina 

-----Original Message-----
From: program-java-bounce@xxxxxxxxxxxxx 
[mailto:program-java-bounce@xxxxxxxxxxxxx] On Behalf Of Corbett, James
Sent: Monday, September 20, 2010 8:00 AM
To: 'program-java@xxxxxxxxxxxxx'
Subject: [program-java] Re: Java: Precedence... solution

Hi:

I used the term global for those beginners on the list that are transitioning 
to the OO world. If every one knew the correct
terminology I would claddly refer to them as class vars but Friday's discussion 
sort of makes me believe that there are those who
need to come to terms with these terms.... No pun intended.

-----Original Message-----
From: program-java-bounce@xxxxxxxxxxxxx 
[mailto:program-java-bounce@xxxxxxxxxxxxx] On Behalf Of Jeffrey Fidler
Sent: September 18, 2010 11:54
To: program-java@xxxxxxxxxxxxx
Subject: [program-java] Re: Java: Precedence... solution

Hello, all.  Hopefully I'm thinking clearly again and not like the last couple 
of posts!  What I am wondering is this: is it a good
idea to think of variables as being 'global' when they are instance variables?  
Wouldn't it be better to think of class variables in
this way if we are going to think of things as global?  Also, isn't it a good 
idea to try not to think of things as global when we
are doing OO programming as the idea is to decouple or very loosely couple 
components?

In more concrete terms, if we must think of variables as being global, doesn't 
the closest thing approximate to a static class
variable:

public class MyClass {
public static int myVar;
// we have access to this variable in all objects that instantiate this class, 
// it is declared and initialized once by the JVM for
all objects that instantiate MyClass // its value is consistent across all 
objects that instantiate the MyClass class }

and, this new variable I add (myInstanceVar) is merely just an instance 
variable particular to every instantiation of the class but
not global in the way we think of global scope as application scope in other 
languages:

public class MyClass
{
public static int myVar;
protected int myInstanceVar;
// we have access to this myInstanceVar variable throughout subsequent scopes 
within each object that is instantiated from the
MyClass class // each object instantiation of the MyClass class gets its own 
memory reserved for this variable // consequently, each
object instantiation can have its own value stored in the variable for use 
within the object at all scopes }

So, the public static myVar variable is the closest approximation to a global 
variable we get with Java, if I have understood things
correctly.

Please let me know in any case if I have my head around this stuff.  I was 
thrown into programming Java at work and am a student of
the language whenever I get the time.  I would have preferred to have been a 
student of the language before writing production code,
but the real world too often intervenes!

Thanks in advance!

- Jeff

----- Original Message -----
From: "Sina Bahram" <sbahram@xxxxxxxxx>
To: <program-java@xxxxxxxxxxxxx>
Sent: Friday, September 17, 2010 4:13 PM
Subject: [program-java] Re: Java: Precedence... solution


It's declared in a higher scope.

Take care,
Sina

-----Original Message-----
From: program-java-bounce@xxxxxxxxxxxxx
[mailto:program-java-bounce@xxxxxxxxxxxxx] On Behalf Of Homme, James
Sent: Friday, September 17, 2010 2:54 PM
To: program-java@xxxxxxxxxxxxx
Subject: [program-java] Re: Java: Precedence... solution

Hi,
What makes x global?

Thanks.

Jim

Jim Homme,
Usability Services,
Phone: 412-544-1810. Skype: jim.homme
Internal recipients,  Read my accessibility blog. Discuss accessibility here. 
Accessibility Wiki: Breaking news and accessibility
advice


-----Original Message-----
From: program-java-bounce@xxxxxxxxxxxxx
[mailto:program-java-bounce@xxxxxxxxxxxxx] On Behalf Of Corbett, James
Sent: Friday, September 17, 2010 2:52 PM
To: 'program-java@xxxxxxxxxxxxx'
Subject: [program-java] Re: Java: Precedence... solution

That's what I was trying to point out that the global x had the focus so to 
speak. Yes, I was counting on my fingers and since I had
one bit off by a shark a few years back I live in base 9.

Jim

-----Original Message-----
From: program-java-bounce@xxxxxxxxxxxxx
[mailto:program-java-bounce@xxxxxxxxxxxxx] On Behalf Of Sina Bahram
Sent: September 17, 2010 14:12
To: program-java@xxxxxxxxxxxxx
Subject: [program-java] Re: Java: Precedence... solution

No, because there's no int specification in the for loop ... That x is the 
global x.

Also, it gets incremented to 10, not 9.

Take care,
Sina
________________________________

From: program-java-bounce@xxxxxxxxxxxxx
[mailto:program-java-bounce@xxxxxxxxxxxxx] On Behalf Of Corbett, James
Sent: Friday, September 17, 2010 2:07 PM
To: 'program-java@xxxxxxxxxxxxx'
Subject: [program-java] Java: Precedence... solution


Hey now:

I've finally resolved the issue I was having with variables being reused 
multiple times in the same class...

For the sake of brevity:

Public class MyClass {

Private int x = 1;

Public MyClass() {
myMethod();
}

Private void myMethod() {
For (x =0; x<10; x++) {
}
}
}

...obviously x gets finally incremented to 9 and since it's global then it 
throws off any reuse of the variable.

James M. Corbett

Programmer / Analyst |
Canada Revenue Agency | Agence du revenue du Canada
875 Heron Rd.
Ottawa, On.
K1A0L5

James.Corbett@xxxxxxxxxxxxx
Telephone | Téléphone: (613) 941-1338
Facsimile | Télécopieur: (613) 941-2261

Government of Canada | Gouvernement du Canada





This e-mail and any attachments to it are confidential and are intended solely 
for use of the individual or entity to whom they are
addressed.  If you have received this e-mail in error, please notify the sender 
immediately and then delete it.  If you are not the
intended recipient, you must not keep, use, disclose, copy or distribute this 
e-mail without the author's prior permission.  The
views expressed in this e-mail message do not necessarily represent the views 
of Highmark Inc., its subsidiaries, or affiliates.








Other related posts: