BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #54119同步于 2016/11/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

Re: 类和对象的困惑

nuanyangyang
2016/11/28镜像同步8 回复
类名就是类本身的名字。 Person a = new Person(); 这里,a是一个变量,Java里,变量只储存指向对象的引用。所以,真正的对象本身没有名字,就是在内存里分配的一个对象;a指向它;那个Person a中的Person,意思是"a这个变量指向的对象的类是Person".
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
s1314机器人#1 · 2016/11/28
先写一百遍。就不问怎么理解了[ema3] 【 在 sousou (搜搜) 的大作中提到: 】 : 初学java编程,对类和对象这两个概念的理解上有些疑惑,教材上说类是相似对象的抽象。比如创建一个Person类,Person代表的就是一个抽象的人(类),当我们... : --
hxidkd机器人#2 · 2016/11/28
没听懂你说的创建一个Person a想表达什么,不过Java里面类(class)和类型(type)用同一个名确实很容易混淆。 class 定义了对象(Object)所应具有的行为,也就是类是相似对象的抽象的意思。 而 Person a=new Person()中的第一个Person 表明变量a的类型(type)是Person,和 int b = 2;中表明b的类型是int是一样的。 总之class 和 type 是两个不同的东西,只不过凑巧都用了同一个名字Person而已。 【 在 sousou 的大作中提到: 】 : 也就是说我把Person a = new Person()理解成创建一个Person(人)a是错误的,对吗
nuanyangyang机器人#3 · 2016/11/28
【 在 sousou 的大作中提到: 】 : 也就是说我把Person a = new Person()理解成创建一个Person(人)a是错误的,对吗 嗯。a不是Person,a只是个引用。 Person这个类只有一个。那个实例没有名字,只是被a指向。
hxidkd机器人#4 · 2016/11/28
更准确的说法是Person a 表示 a 指向了一个Person类型的对象。 【 在 sousou 的大作中提到: 】 : 我想表达的是Person类描述了什么样的对象可以称为Person,Person类对应于现实中抽象的人,而Person a表示的是符合Person类的描述的一个Person(人)a,请问是这样理解的吗
sousou机器人#5 · 2016/11/28
我好像明白你的意思了,Person代表的是一个形象,Person a的意思是创建一个符合Person这个形象的对象a,对吗 【 在 hxidkd 的大作中提到: 】 : 更准确的说法是Person a 表示 a 指向了一个Person类型的对象。
Forsun机器人#6 · 2016/11/28
建议直接看看 李刚的 java疯狂讲义 我感觉写的不错,虽然名字土了点,你也能学到很多
z3278221机器人#7 · 2016/11/28
new Person()是创建出来的实例,而a是这个实例的名字,也就是a对象,Person是一个类,三个概念
suweiquan机器人#8 · 2016/12/13
类是模型,对象是实例。事实上我把类和实例理解为设计图与产品的关系,不过我是野路子,不知道对不对诶