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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© SF_NEVERMORE 中级黑马   /  2015-10-14 18:42  /  843 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

类与对象之间的关系
使用计算机语言就是不断地在描述现实生活中的事物。
java中描述事物通过类的形式体现,类是具体事物的抽象,概念上的定义。
对象即是该类事物实实在在存在的个体。类与对象
类就是图纸,汽车就是堆内存中的对象。
对于同一类事物可以抽取它们的共性的内容,定义在类中.

通过该类建立的每一个汽车实体都具有该属性,并可以有对象特有的属性值。
类的定义
属性:对应类中的成员变量。
行为:对应类中的成员函数。
定义类其实在定义类中的成员(成员变量和成员函数)。

成员变量和局部变量的区别
成员变量:
1.成员变量定义在类中,在整个类中都可以被访问。
2.成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。
3.成员变量有默认初始化值。
局部变量:
1.局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。
2.局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。
3.局部变量没有默认初始化值。

匿名对象
匿名对象是对象的简化形式。
匿名对象两种使用情况:
1.当对对象方法仅进行一次调用时;
2.匿名对象可以作为实际参数进行传递。

12 个回复

倒序浏览
应该还有匿名对象只可被调用一次,同时调用之后就消失被回收了
回复 使用道具 举报
迷茫不堪的年纪 发表于 2015-10-14 19:00
应该还有匿名对象只可被调用一次,同时调用之后就消失被回收了

多谢大神提点
回复 使用道具 举报
类存在整个内存中,对象存在堆内存中;类可以直接调用静态方法,对象只可以调用一般方法
回复 使用道具 举报
6666666666666666666
回复 使用道具 举报
Love1027 发表于 2015-10-15 17:48
类存在整个内存中,对象存在堆内存中;类可以直接调用静态方法,对象只可以调用一般方法 ...

对象也可以调用该类的静态方法
回复 使用道具 举报 2 0
wx_HWRW5aF7 发表于 2015-10-15 18:58
对象也可以调用该类的静态方法

{:2_34:}类不可以调用一般方法。我把自己绕进去了。
回复 使用道具 举报
wx_HWRW5aF7 发表于 2015-10-15 18:58
对象也可以调用该类的静态方法

{:2_34:}类不可以调用一般方法。我把自己绕进去了。
回复 使用道具 举报
Love1027 发表于 2015-10-15 19:52
类不可以调用一般方法。我把自己绕进去了。

其实通常说的一般方法是指非构造方法,静态方法是被static修饰的一般方法

点评

我重新看了一遍视频,你说的很对,赞一个。  发表于 2015-10-17 06:55
回复 使用道具 举报 1 0
Love1027 发表于 2015-10-15 17:48
类存在整个内存中,对象存在堆内存中;类可以直接调用静态方法,对象只可以调用一般方法 ...

亲,内存主要分为哪些内存呢?               无非是栈内存和堆内存吧?  我可以认为 对象>类>静态方法么?  我认为定义的类一般在堆内存有相应的地址哦。
回复 使用道具 举报
迷茫不堪的年纪 发表于 2015-10-16 01:30
亲,内存主要分为哪些内存呢?               无非是栈内存和堆内存吧?  我可以认为 对象>类>静态方法么 ...

Java内存主要有栈、堆和方法区。类在整个内存中,类中定义的静态成员变量和成员方法在方法区中,非静态成员变量、引用在堆内存中,引用变量也可以说引用的地址值、局部变量在栈内存中。
回复 使用道具 举报
Love1027 发表于 2015-10-16 07:17
Java内存主要有栈、堆和方法区。类在整个内存中,类中定义的静态成员变量和成员方法在方法区中,非静态成 ...

之前一直以为内存只有栈内存和堆内存。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马