有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

每个对象都有自己的由其他对象组成的内存。这在Java中仍然有效吗?

换句话说,通过创建包含现有对象的包来创建一种新的对象。因此,您可以将复杂性构建到程序中,同时将其隐藏在对象的简单性后面

Thinking in Java

在Java中,不是所有对象都相互独立吗?可以从不同的对象创建超级对象吗

编辑:

Alan Kay在Java出现之前总结了Smalltalk方式的五个基本特征。据他说,这是OOP的特点之一。我想知道它对java是否仍然有效


共 (2) 个答案

  1. # 1 楼答案

    在Java中,一个对象不能直接包含其他对象,但它肯定可以包含对其他对象的引用。我怀疑这就是作者想要表达的意思

    因此,如果Customer对象知道地址、电话号码、订单列表、名称等,那么这些都将是独立的对象。。。但是Customer对象的用户不必显式地管理所有这些,而是只保留对该对象的引用,并通过该单个对象访问其余数据

  2. # 2 楼答案

    我认为你必须区分两个不同的概念:

    在内存中,Java中的每个对象都是一个单独的实体,有自己的一组内存(我相信Smalltalk也是这样工作的)。它可以引用保存在自己内存中的其他对象,但不能“包含”内存中的其他对象

    从概念上讲,有些对象以某种方式“属于”其他对象。例如,保存char[]数据的String在技术上是一个单独的对象,但引用它的唯一其他对象是String(可能还有其他String实例,但现在我们忽略它)。从这个意义上说,String包含char[]