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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 秦松 中级黑马   /  2012-10-20 21:49  /  1289 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如何理解实例属性? 跟静态方法,静态属性有什么关联没有?

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1 神马都是浮云

查看全部评分

5 个回复

倒序浏览
回复 使用道具 举报
实例属性就是属于同一类不同实例自己所有的属性,不和本类其它对象共享,改变一个实例的属性值不会影响到其他实例。
静态方法是类的方法,可以在不创建对象的情况下使用,它在类的初始化的时候已经进入到了方法区,不同实例调用这个方法的时候是从方法区中读取,而不是自己再创建一个新的方法。
静态属性和静态方法一样同属于类,它也只有一份,所有本类的实例共享这个属性,本类一个实例改变这个属性,同时其他本类的实例都会跟着改变。

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1

查看全部评分

回复 使用道具 举报
实例属性也就是类属性,它是和类对象关联的,通过对象来访问,而静态属性和静态方法它们是存放在内存中单独的一块储存空间中的,因此是独立于类对象的,与类无关,我是这么理解的

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1 很给力!

查看全部评分

回复 使用道具 举报
类中的成员变量又叫实例变量,静态变量又叫类变量,
它们的存储位置不同:实例变量存储在堆内存中,静态变量存储在方法区的共享数据区内,
还有就是创建和回收的时间也不一样:实例变量随着对象创建而存在,随着对象被回收而被释放;静态变量是随着类的存在而存在,类的消失而消失的;
应该没有关联。
刚开始学,认识不深,希望能有用!

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1

查看全部评分

回复 使用道具 举报
在java中,类中的静态变量又叫类变量,成员变量又叫实例变量,也就是实例属性。
类变量和类方法在这个类一建立就存在了,存放在方法区中,可以直接被类名调用,
并且被所有对象共享。类变量生命周期最长,随着类的消失而消失。

实例变量是在这个类的对象建立才存在,存在于堆区,不能被其他对象共享,实例
变量生命周期随着对象的消失而消失。

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马