Java中为何外部类实例可访问其内部类的私有字段?
Java中外部类可访问内部类私有字段的示例
在Java中,外部类的实例可以直接访问其内部类的私有字段,下面的代码示例里,onBindViewHolder方法的最后一行holder.textView.setText(...)就是典型场景——textView是内部类PokedexViewHolder的私有成员,但外部类PokedexAdapter的方法能直接调用它。
public class PokedexAdapter extends RecyclerView.Adapter<PokedexAdapter.PokedexViewHolder> { public static class PokedexViewHolder extends RecyclerView.ViewHolder { private LinearLayout containerView; private TextView textView; PokedexViewHolder(View view) { super(view); containerView = view.findViewById(R.id.pokedex_row); textView = view.findViewById(R.id.pokedex_row_text_view); } } private List<Pokemon> pokemon = Arrays.asList( new Pokemon("Bulbasaur", 1), new Pokemon("Ivysaur", 2), new Pokemon("Venusaur", 3) ); @Override public void onBindViewHolder(@NonNull PokedexViewHolder holder, int position) { Pokemon current = pokemon.get(position); holder.textView.setText(current.getName()); } }
内容的提问来源于stack exchange,提问作者Đạt Phạm Nguyễn Ngọc
相关产品推荐
相关产品推荐

