繁体   English   中英

如何访问内部类的局部变量

[英]How to access local variables of inner class

我有一个内部类数组类型的类。 我想访问外部类外部内部类中的局部变量。

public class Fruits {

    public Citrus citrus[];
}
public class Citrus{

    public String lemon;
    public String orange;
}

现在我想从这些类之外的内部类中获取变量lemon 我得到错误类无法解析输入

尝试更改public Fruits citrus[]; public Citrus citrus[];

我为你找到了一条路。 当你使用数组时,你应该使用索引来访问数组的每个项目。

public class Fruits {

    public Citrus citrus[];

    public void  test() {
        String temp=citrus[0].lemon;
    }

}
 class Citrus {
    public String lemon;
    public String orange;
}

现在你可以从数组中得到柠檬和橙子。

我认为您想要的只是从外部访问内部类。 如果您只想实例化内部类,下面的代码片段可能会有所帮助。

代码是不言自明的,只需通过注释即可。

public class Fruits {

    public Citrus[] Citrus;

    public class Citrus {

        public String lemon;
        public String orange;

        @Override
        public String toString() {
            StringBuilder builder = new StringBuilder();
            builder.append("Citrus [lemon=");
            builder.append(lemon);
            builder.append(", orange=");
            builder.append(orange);
            builder.append("]");
            return builder.toString();
        }


    }

    public static void main(String...args)
    {

        //create the Fruits Object 
        Fruits f = new Fruits();
        //Array Declaration for inner class 
        Fruits.Citrus[] citrusArray = new Fruits.Citrus[1];
        //instanciate the inner class 
        Fruits.Citrus citrus = f.new Citrus();
        //assigning the value
        citrus.lemon = "Lemon";
        citrus.orange="Orance";

        //set instance of inner class into the array of inner class 
        citrusArray[0]=citrus;
        //setting array into the insatnce variable of Fruits class 
        f.Citrus = citrusArray;
        //printing the result
        System.out.println(Arrays.toString(f.Citrus));

    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM