A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© air 中级黑马   /  2013-10-22 16:18  /  1059 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 air 于 2013-10-22 18:23 编辑
  1. class Person
  2. {
  3.         Person()
  4.         {
  5.         System.out.println("Zombie");
  6.         }
  7. }


  8. class PersonDemo2

  9. {
  10.         public static void main(String[] args)
  11.         {
  12.         Person p= new Person();
  13.         }
  14. }
复制代码
是这样的,毕老师的视频里,听来听去3,4遍,老是不能明白对象和代码之间的关系,有没有童鞋能告诉我.这个new Person和Person p和类:person的关系.我对对象的概念不清楚.

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

6 个回复

倒序浏览
首先Person这个类相当于对某一事物的描述,可以看做是图纸:比如要生产汽车,首先要设计出图纸。类就相于现实生活中对图纸的描述。
Person p= new Person(); 这一名牵扯到两个知识点:首先要知道Java的基本数据类型中的引用数据类型,才能理解前面的Person p
=号后面的new Person(); new 是一个关键字,在堆内存中开辟出一个空间用来对person这个类进行实例化。当然会产生一个内存地址,将这个内存地址赋给了在栈内存中的变量P 。p有了地址以后,就指向了这个对象。
可以在看一下实例化过程的视频。

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
给你举个例子吧!
类:人,这是一个抽象的概念。
对象:张三,这是一个实例对象,是具体的!
Person p= new Person();
p是引用类型变量,new Person()是Person类的实例对象。Person是一个类。

希望对你有帮助!{:soso_e141:}

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
air 中级黑马 2013-10-22 17:31:07
板凳
kellyzyb 发表于 2013-10-22 16:41
首先Person这个类相当于对某一事物的描述,可以看做是图纸:比如要生产汽车,首先要设计出图纸。类就相于现 ...

按照你的说法.我能这么理解吗?
类person,这个类里面有描述.有一些细节的东西.
person p.引用了一个堆内存地址
这个堆内存地址里面有 实实在在的详细的东西.(就是堆内存分配了一些地址给类.person吗?)用Person p引用了这个类,能干嘛?
new的作用呢?
对象在哪呢?是什么呢?
帮人帮到底,你告诉我吧
回复 使用道具 举报
class Person定义一个类,类实际上是表示一个客观世界某类群体的一些基本特征抽象,而对象就是表示一个个具体的东西
例如:人就是现实生活中的一个类,而对象就是具体的某一个人。

Person p= new Person();这句话的意思是在主方法中实例化了一个Person对象,对象名为p,对象名是保存在栈内存中的,而对象的具体内容(包括对象的属性)都是保存在堆内存中的,通过new这个关键字开辟堆内存空间,并且实例化产生的堆内存地址被栈内存中的对象p所指向。

{:soso_e183:}
回复 使用道具 举报
Person类: 描述person这种事物应该具有哪些属性,就像前面的朋友们说的汽车图纸
Person p: 意思是定义一个Person类型的引用变量,其实和 int x 的意思差不多,只是类型不一样。
new Person:创建一个Person类对象
=  :把创建的对象的内存地址赋值给 p ,这样就可以通过 p 来操作这个对象了
回复 使用道具 举报
air 中级黑马 2013-10-22 18:23:16
7#
各位的回答,我又翻了一遍视频, 完全清晰.~~很爽,谢谢大家
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马