Why can I refer to non-final fields from inside an inner class
public class Selection extends Activity {
     int con=0;
but not to non-final variables
public void loadlist() {               
     int con=0;
and I have to make the variable final instead?
public void loadlist() {
     final int con=0;
EDIT: If I want to declare an int inside a method, I need to make the int final. But that is not the case when I declare it outside (like in the first code block).
 
     
     
    