我今天晚些时候接受了测试,我想我可能会被困在学习指南的这一部分:
类和对象,引用,方法;作为模式的类 创建对象,类和对象的概念作为定义单元 与数据成员和方法;什么是班级的实例;静态的 班级成员;对于一个班级成员来说意味着什么呢?
我最大努力解释这些概念如下:
类是程序员定义的数据类型,由数据组成 成员和方法。
对象是由值组成的实体 (特征和特征)和方法(能力或行为)。 类就像是创建对象的蓝图。
引用变量指向在另一个内存位置创建的对象。 (不是100%肯定这意味着什么)
就像一个饼干切割器可以用来创建单独的饼干,一个类可以 用于创建单个对象,或该类的实例。
类(或类变量或方法)的静态成员所属 到班级并且不属于班级的任何对象。
如果某个成员的成员公开,则表示该程序的其他部分可以访问该成员。
我想知道这是否会令人满意,或者我是否遗漏了任何重要的内容。显然我对引用和引用变量的概念感到不满,我想我仍然试图以&#的方式概念化对象和类。 39;足够可解释。
提前感谢您的帮助。
答案 0 :(得分:3)
类是模板,可以从中构建对象;它可以作为创建物体的蓝图 对象是类的实例。
就像建筑师如何绘制房屋蓝图一样。蓝图和建造的房子是两个不同的东西。从那一幅蓝图中,可以在很多地方建造同一栋房屋。同样,您可以创建一个类的多个对象。
蓝图定义了房子应该是什么样的 。将有一个厨房,几个卧室,一个地下室(可能隐藏非法钱)等。每个买房子的人都会以不同的方式定制房子。
这类似于对象中的值 - 不同对象中的相同变量可能具有不同的值
得到它?同一个卧室在两个不同的房子由同一个蓝图构成将有不同的颜色,床,照明等。同样的东西,不同的价值。
以下是您理解静态和实例变量的方式。厨房属于每个人 - 它是静态的,由每个人共享,只有一个厨房(静态)。你的吉他属于你而你只是,它不与任何人分享,但可能发生你的妹妹也有一把属于她和她的吉他。
我所说的是 - 每个对象都有自己的实例变量副本,而只有一个静态变量副本由该类的所有对象共享。
以下是如何理解更改静态和实例变量的值
如果你要为你的吉他获得自定义图形,那对你和你来说都很重要,因为它只是一个实例变量。如果对厨房做了一些改变,说冰箱被移动了,它会影响每个人,因为厨房是一个静态变量
我所说的是 - 实例变量的更改仅对拥有它们的对象可见,而静态变量的更改对该类的所有对象都是可见的。
答案 1 :(得分:2)
似乎很适合我。如果我迂腐,我建议你改变最后两句:
类的静态成员属于该类,不属于该类 该类的任何实例。
如果某个类的成员是公共的,则表示可以访问它 通过该计划中的其他类。
要理解参考文献,您还可以阅读:http://www.javaranch.com/campfire/StoryCups.jsp
答案 2 :(得分:1)
你似乎把所有其他东西都钉在了一边。对于新手来说,引用类型和引用变量是连续的争用点,因为它们倾向于与其他东西混淆。
了解参考类型的最简单方法是根据房屋进行比较。您的房子是价值,您的街道地址是指向您房屋的指针(参考),您的完整地址 - 在信封上使用时可以被视为您的参考变量。
看看我在那里做了什么?
答案 3 :(得分:1)
在大多数情况下,您似乎已将材料缩小。我打算在这里尝试回答你的隐含问题,
引用变量指向在另一个内存位置创建的对象。 (不是100%肯定这意味着什么)
引用(在Java中)有点像po box编号。你可以去邮局找到很多邮箱,但这个号码使得特定的箱子很容易找到。此外,它在邮局内是独一无二的。它确保邮件与其他邮箱分开。这个比喻并不完美(请注意,关键在于这个讨论非常重要)。
答案 4 :(得分:1)
是的,您可以使用类以及对象是它们的实例。类就像包含所有属性/特征的模板。在一个类中,可以有对象,这些对象更多是类的实例。举个例子,假设有一个名为“动物”的类。这意味着课堂上的任何物品都有一个共同点:它们是动物。现在,该类的一个对象是动物'将是一种特定的动物(鸟类,大象,长颈鹿,狗)。这些将成为“动物”类下的对象。因为它们是所有动物,但它们是物体,因为它们是动物(动物种类)的实例。此外,当类的成员/方法是公共的时,它可以被程序或项目的其他部分访问。希望这会有所帮助。