You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 12:58:28