每个对象都有自己的由其他对象组成的内存。这在Java中仍然有效吗?
换句话说,通过创建包含现有对象的包来创建一种新的对象。因此,您可以将复杂性构建到程序中,同时将其隐藏在对象的简单性后面
在Java中,不是所有对象都相互独立吗?可以从不同的对象创建超级对象吗
编辑:
Alan Kay在Java出现之前总结了Smalltalk方式的五个基本特征。据他说,这是OOP的特点之一。我想知道它对java是否仍然有效
你可以在下面搜索框中键入要查询的问题!
换句话说,通过创建包含现有对象的包来创建一种新的对象。因此,您可以将复杂性构建到程序中,同时将其隐藏在对象的简单性后面
在Java中,不是所有对象都相互独立吗?可以从不同的对象创建超级对象吗
编辑:
Alan Kay在Java出现之前总结了Smalltalk方式的五个基本特征。据他说,这是OOP的特点之一。我想知道它对java是否仍然有效
# 1 楼答案
在Java中,一个对象不能直接包含其他对象,但它肯定可以包含对其他对象的引用。我怀疑这就是作者想要表达的意思
因此,如果
Customer
对象知道地址、电话号码、订单列表、名称等,那么这些都将是独立的对象。。。但是Customer
对象的用户不必显式地管理所有这些,而是只保留对该对象的引用,并通过该单个对象访问其余数据# 2 楼答案
我认为你必须区分两个不同的概念:
在内存中,Java中的每个对象都是一个单独的实体,有自己的一组内存(我相信Smalltalk也是这样工作的)。它可以引用保存在自己内存中的其他对象,但不能“包含”内存中的其他对象
从概念上讲,有些对象以某种方式“属于”其他对象。例如,保存
char[]
数据的String
在技术上是一个单独的对象,但引用它的唯一其他对象是String
(可能还有其他String
实例,但现在我们忽略它)。从这个意义上说,String
包含char[]