Solved

non-final variable inside an inner class

Posted on 2002-07-25
3
1,977 Views
Last Modified: 2007-11-27
I get this error:
Cannot refer to non-final variable someParameter
inside an inner class defined in a different method

with this code:

<instantiate a button>
int someParameter = 1;
someButton.addSelectionListener(new SelectionAdapter()
{
public void widgetSelected (SelectionEvent event)
{
  someMethod(someParameter);
}
});

What are the different ways i can get around this?
0
Comment
Question by:jdaues
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 86

Expert Comment

by:CEHJ
ID: 7177807
The simplest way is to declare:

final int someParameter = 1;
0
 

Author Comment

by:jdaues
ID: 7177930
well, yes, except that the point of having the parameter is that later in the code I will have

<instantiate button2>
someParameter = 2;
someButton2.addSelectionListener(new SelectionAdapter()
{
public void widgetSelected (SelectionEvent event)
{
 someMethod(someParameter);
}
});
0
 
LVL 4

Accepted Solution

by:
kylar earned 100 total points
ID: 7178050
If it's defined at the class level instead of method level you can pass it as well.

Cheers,
K
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
web application structure 18 112
login form jsp example 2 50
Is there a simpler dropbox system? 10 44
How to log java errors in tomcat 8 24
Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question