java - 概念之间的区别

标签 java php android ios

<分区>

我参加了一个 java 程序员的面试,在问了几个个人问题之后,面试官问了我“什么是封装和抽象”这个问题,我对这个问题很满意,我的回答是隐藏了实现细节用户不需要知道。抽象只是向用户展示重要的细节。在我回答后几秒钟,面试官又问了我一个问题。只向用户展示重要的细节,这意味着向用户隐藏不相关的数据,如实现细节。是吗?

我已经回答了!!!

还有一个问题来自。那么abstraction和encapsolution有什么区别。我认为根据你的回答没有区别。

我就像我不知道,我的手被冻住了,对我来说真是糟糕的一天

谁能解释一下如果有人问你这样的问题你会怎么回答

最佳答案

封装通俗地说就是覆盖(encapsulating)。

就 Java 而言,这意味着将您的代码编写在一起并仅公开其中打算公开的部分。但它通常与数据隐藏相关联。例如,当您将实例方法/函数定义为私有(private)时,只能从同一个类访问它。这样你就不会直接公开你的实例变量/函数。为什么?因为用户与它无关。

用外行人的话说,抽象是一个用来隐藏其背后复杂性的概念。以计算机为例。它们是处理器的抽象,处理器进行实际计算,而芯片又涉及门。对于普通人来说,很难用使用的门来说话。所以这个概念已经被抽象到计算机。

关于 Java 抽象意味着对用户隐藏实现细节。这包括使类抽象或定义接口(interface)。所有用户都接触到界面(一组函数或 API)。他不需要知道它的内部实现。他只需要知道他必须提供什么输入(参数)以及什么是相应的输出(返回类型)。

为了更好地理解 Java 示例,请参阅 this问题。

关于java - 概念之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20417125/

相关文章:

php - Sendgrid Azure PHP

php - 如何在 wordpress 中使用 CDN 正确使用 = wp_enqueue_style?

php - 显示来自 WordPress 帖子的图像

java - 在 eclipse 中创建一个 android DialogFragment

java - 线程有自己的数据副本吗?

java - 如何使用 supercsv 跳过仅空白的行和具有可变列的行

java - 扩展 java ArrayList

android - 未调用 AImageReader 的 onImageAvailable 回调

android - Gradle:从发行版本中排除外部依赖项(lib)

java - Gradle:在顶级和子模块中声明依赖关系 - 使用哪个?