gpt4 book ai didi

c# - 为什么我们使用内部类?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:05:37 25 4
gpt4 key购买 nike

我想问你为什么我们需要内部类,为什么要使用它们?
我知道如何使用内部类,但我不知道为什么..

最佳答案

一些内部类是公开公开的(例如 Java 中的 Map.Entry),但这是迄今为止的异常(exception)情况,而不是常态。

内部类基本上是一个实现细节。

例如,Swing 广泛使用事件监听器的内部类。没有它们,您最终会用一堆您不需要看到的类污染全局命名空间(这可能会使它们的目的更难确定)。

本质上,内部类是作用域的一种形式。包访问从包外部隐藏类。私有(private)内部类从该类外部隐藏该类。

Java 中的内部类也是缺少函数指针或方法委托(delegate)(在 C# 中)或闭包的替代品。它们是将一个函数传递给另一个函数的方法。例如,在 Executor 类中你有:

void execute(Runnable r);

所以你可以传入一个方法。在 C/C++ 中可以通过以下方式实现:

void execute(void (*run)());

作为一个指向函数的指针。

关于c# - 为什么我们使用内部类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2707724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com