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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

static随着类的存在而存在是不是意味着,不用创建对象也能使用static方法?还有静态成员,可不可以被对象修改?

21 个回复

倒序浏览
wzg76777 来自手机 中级黑马 2015-7-30 11:57:28
沙发
static修饰的方法随着类的加载而加载,优先于对象,自然不需要通过对象调用,可以直接使用类名调用,而static修饰的成员变量可以被对象修改
回复 使用道具 举报
static 修饰的方法或者成员,可以被对象和类调用,
当然正规的做法是使用类来调用,只是使用对象调用也可以正常运行;
非static修饰的只能被对象调用;
回复 使用道具 举报
static方法是存放系统内存中,当编译器在编译时首先编译static方法,不需要创建对象就可使用,同时也可以被对象所修改
回复 使用道具 举报
static 修饰的方法或者成员,可以被对象和类直接调用,
使用对象调用也可以正常运行
回复 使用道具 举报
可以,static能被对象调用也能被类调用, static 最大的好处就是能共享,

点评

好的,懂了,  发表于 2015-7-31 09:07
回复 使用道具 举报
static修饰的成员,可以不用创建对象,直接通过类名调用,因为在jvm加载字节码文件的时候,已经把这部分静态的成员已经初始化完成了。
回复 使用道具 举报
第二个问题:静态成员是不可以被对象所修改的,静态常用不属于任何一个单独的对象。
回复 使用道具 举报
tromo 中级黑马 2015-7-31 16:25:16
9#
类名调用。。。。
回复 使用道具 举报
你可以理解为,static修饰的成员是整个类的成员,而不是属于对象的。
所以可以直接用类名来调用static成员,而不能用对象名。
这里的成员包括函数和变量。
同样的道理,因为static函数是类的函数,所以他不能调用该类对象具体的成员变量,而只能调用static成员变量
回复 使用道具 举报
rxtm 中级黑马 2015-7-31 16:37:35
11#
你说对了
回复 使用道具 举报
静态的都是类名调用,不用创建对象,静态成员也不能都更改
回复 使用道具 举报
static修饰的方法和变量都是随着类的加载而加载的,而且只加载一次,比对象更早的进入内存,在使用时直接就是类名调用    类名.方法名
回复 使用道具 举报
如果在一个类中可以直接调用静态方法。如果在其他类,可以用 类名.方法名( )的方式调用。
也可以使用对象调用。静态优先于对象。另外方法中不能使用静态变量。静态方法也不行。
回复 使用道具 举报
用类名调用就行。。。
回复 使用道具 举报
static 的修饰的方法不用创建对象就可以使用,静态成员也可以被对象修改。
回复 使用道具 举报
静态方法可以通过类直接调用,因为静态成员都存放在静态区里。静态成员变量可以被对象修改,但是因为静态成员变量被所有对象共享,这样所有对象访问的数据都会发生改变。至于成员方法,对象只能调用方法,不可能改变方法。
回复 使用道具 举报
当然可以了。不用创建对象,可以直接通过类名.调用。
回复 使用道具 举报
随着类加载而加载,可以用类名调用
回复 使用道具 举报
Lblnc 中级黑马 2015-7-31 23:49:00
20#
可以拉,你查查笔记
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马