黑马程序员技术交流社区

标题: static 修饰的方法,不用创建对象可以调用吗? [打印本页]

作者: zk338142    时间: 2015-7-30 11:17
标题: static 修饰的方法,不用创建对象可以调用吗?
static随着类的存在而存在是不是意味着,不用创建对象也能使用static方法?还有静态成员,可不可以被对象修改?
作者: wzg76777    时间: 2015-7-30 11:57
static修饰的方法随着类的加载而加载,优先于对象,自然不需要通过对象调用,可以直接使用类名调用,而static修饰的成员变量可以被对象修改
作者: wowthe1st    时间: 2015-7-30 12:03
static 修饰的方法或者成员,可以被对象和类调用,
当然正规的做法是使用类来调用,只是使用对象调用也可以正常运行;
非static修饰的只能被对象调用;

作者: who0is0that    时间: 2015-7-30 12:08
static方法是存放系统内存中,当编译器在编译时首先编译static方法,不需要创建对象就可使用,同时也可以被对象所修改
作者: 飞飞飞丨    时间: 2015-7-30 12:15
static 修饰的方法或者成员,可以被对象和类直接调用,
使用对象调用也可以正常运行
作者: 刘远东    时间: 2015-7-30 23:41
可以,static能被对象调用也能被类调用, static 最大的好处就是能共享,
作者: 段燚涛    时间: 2015-7-31 16:02
static修饰的成员,可以不用创建对象,直接通过类名调用,因为在jvm加载字节码文件的时候,已经把这部分静态的成员已经初始化完成了。
作者: 段燚涛    时间: 2015-7-31 16:03
第二个问题:静态成员是不可以被对象所修改的,静态常用不属于任何一个单独的对象。
作者: tromo    时间: 2015-7-31 16:25
类名调用。。。。
作者: DD_vincent    时间: 2015-7-31 16:29
你可以理解为,static修饰的成员是整个类的成员,而不是属于对象的。
所以可以直接用类名来调用static成员,而不能用对象名。
这里的成员包括函数和变量。
同样的道理,因为static函数是类的函数,所以他不能调用该类对象具体的成员变量,而只能调用static成员变量
作者: rxtm    时间: 2015-7-31 16:37
你说对了
作者: JustForYou    时间: 2015-7-31 16:47
静态的都是类名调用,不用创建对象,静态成员也不能都更改
作者: 亦如梦幻泡影    时间: 2015-7-31 22:35
static修饰的方法和变量都是随着类的加载而加载的,而且只加载一次,比对象更早的进入内存,在使用时直接就是类名调用    类名.方法名
作者: 青春是你的烟火    时间: 2015-7-31 23:05
如果在一个类中可以直接调用静态方法。如果在其他类,可以用 类名.方法名( )的方式调用。
也可以使用对象调用。静态优先于对象。另外方法中不能使用静态变量。静态方法也不行。
作者: Holmes    时间: 2015-7-31 23:06
用类名调用就行。。。
作者: 黄成祚    时间: 2015-7-31 23:18
static 的修饰的方法不用创建对象就可以使用,静态成员也可以被对象修改。
作者: wode1311    时间: 2015-7-31 23:34
静态方法可以通过类直接调用,因为静态成员都存放在静态区里。静态成员变量可以被对象修改,但是因为静态成员变量被所有对象共享,这样所有对象访问的数据都会发生改变。至于成员方法,对象只能调用方法,不可能改变方法。
作者: 郝程序猿    时间: 2015-7-31 23:37
当然可以了。不用创建对象,可以直接通过类名.调用。
作者: 黑马的学员    时间: 2015-7-31 23:38
随着类加载而加载,可以用类名调用
作者: Lblnc    时间: 2015-7-31 23:49
可以拉,你查查笔记
作者: umbriel    时间: 2015-7-31 23:50
是的,不创建对象也可以调用





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2