2016-05-27 49 views
-3

我在android studio中进行编码。我想访问此方法外的变量totalCuisine ++。全部菜肴还在全球声称为claass,即int totalCuisines = 0;如何访问java中同一类中的方法之外的局部变量

这是很大的计划,但主要的问题的一部分,在这里以U面前,所有的程序的其余部分被成功执行

public class CuisinesFilterDialog extends DialogFragment{ 

    int totalCuisines = 0; 

    ArrayList<CuisinesModel> data = new ArrayList<>(); 

{ 
    private void updateFilterStats() { 

     ArrayList allData = new ArrayList(); 
     if(data != null && data.size() > 0){ 
      for(int i=0; i<data.size(); i++){ 
       if(data.get(i).isSelected()) { 
        allData.add(data.get(i).getName()); 
        totalCuisines++;// I want to access it outside this method 
       } 
      } 
      DataStore.putString(getContext(), ZConstants.SortFilter.KEY_EXTRAS_FILTER_CUISINES, 
        TextUtils.join(",",allData)); 
     }else{ 
      DataStore.putString(getContext(), ZConstants.SortFilter.KEY_EXTRAS_FILTER_CUISINES, 
        ZConstants.EMPTY_STRING); 
     } 
     dismiss(); 
    } 
} 
+0

totalCuisines ++不是一个变量。 totalCuisines是私有类变量,++是1个操作的增量。要从课堂外访问此类,您可以将totalCuisines公开(public int totalCuisines = 0)或创建一个公用函数incrementTotalCuisines(),这将增加私有int。请注意,totalCuisines可在此方法之外访问,其他类方法可修改此变量。这是不能从这个班级以外访问的。 – JohannisK

回答

1

totalCuisines++不是一个变量。这意味着totalCuisines+1。但是,您可以通过几种方式访问​​totalCuisines。将totalCuisines声明为公共变量的最简单方法。 Like,

public int totalCuisines = 0; 
+0

没有修饰符集合,这意味着只要只需要从类或包中访问,就不需要创建“公共” ref:http://stackoverflow.com/a/215505/4252352 –

相关问题