今天晚些时候我有一个考试,我想我可能会卡在学习指南的这一部分上:
类和对象、引用、方法;类的模式创建对象,类和对象的概念定义了一个单元具有数据成员和方法;什么是类的实例;静态一个阶级的成员;类的成员为public是什么意思
我尽力解释这些概念如下:
类是程序员定义的由数据组成的数据类型成员和方法。
对象是一个由值组成的实体(特征和特征)和方法(能力或行为)。类就像创建对象的蓝图。
引用变量指向在另一个内存位置创建的对象。(不是100%确定这是什么意思)
就像cookie cutter可以用来创建单独的cookie一样,类也可以可以用来创建单独的对象,或者该类的实例。
类
(或类变量或方法)所属的静态成员并且不为类的任何对象所拥有。如果类的成员是public,这意味着它可以被程序的其他部分访问。
我想知道这是否会令人满意,或者我是否遗漏了什么关键的东西。显然,我对引用和引用变量的想法不太确定,我认为我仍在尝试以一种充分可解释的方式概念化对象和类。
提前感谢你的帮助。
类是一个模板,从中可以构建对象;它作为创建对象的蓝图。
对象是类的实例。
就像建筑师画房子的蓝图一样。蓝图和建成的房子是两回事。根据这张蓝图,同样的房子可以在很多地方建造。类似地,您可以创建一个类的多个对象。
蓝图定义了一个房子应该是什么样子。将会有一个厨房,几间卧室,一个地下室(可能是用来藏非法资金的),等等。每个买房的人都会以不同的方式定制房子。这类似于对象中的值——相同的变量在不同的对象中可能有不同的值。
明白了吗?同一个卧室在两个不同的房子里,由相同的蓝图建造,会有不同的颜色,床,照明等。相同的东西,不同的值。
如果你要为你的吉他定制图形,这对你来说很重要,因为它是一个实例变量。如果厨房发生了一些变化,比如冰箱被移动了,它会影响到每个人,因为厨房是一个静态变量。
我所说的是-对实例变量的更改仅对拥有它们的对象可见,而对静态变量的更改对该类的所有对象可见。
对我来说很合适。如果我是学究的话,我建议修改最后两句:
类的静态成员属于该类,不属于类的任何实例
如果类的成员是public,这意味着它可以被访问由程序内的其他类。
要理解引用,您可能还需要阅读以下内容:http://www.javaranch.com/campfire/StoryCups.jsp
和它的后续:http://www.javaranch.com/campfire/StoryPassBy.jsp
你似乎把其他一切都钉得很紧。对于新手来说,引用类型和引用变量是持续的争论点,因为它们容易与其他东西混淆。
理解引用类型最简单的方法是根据房屋进行比较。你的房子是值,你的街道地址是指向你的房子的指针(参考),当你在信封上使用时,你的完整地址——可以——被认为是你的参考变量。
看到我做的了吗?
在很大程度上,你似乎已经掌握了材料。我来试着回答你的隐含问题,
引用变量指向在另一个内存位置创建的对象。(不是100%确定这是什么意思)
引用(在Java中)有点像邮政信箱号码。你可以去邮局找到很多邮筒,但是邮筒的编号使特定的邮筒很容易找到。而且,它在邮局内是独一无二的。它确保邮件与其他盒子分开。这个类比并不完美(请注意,关键在很大程度上与本讨论无关)。
是的,你对类和对象如何成为它们的实例非常了解。类就像一个包含所有属性/特征的模板。在一个类中,可以有对象,这些对象是类的多个实例。举个例子,假设有一个类叫做"动物"。也就是说,无论这个类中的什么项目都有一个共同点:它们都是动物。现在,类"Animal"的对象将是特定的动物(鸟、大象、长颈鹿、狗)。这些是"动物"类下的对象因为它们都是动物,但它们是对象是因为它们是动物的实例(动物的种类)。此外,当类的成员/方法是public时,程序或项目的其他部分可以访问它。