黑马程序员技术交流社区
标题:
static问题
[打印本页]
作者:
yueyebingtong
时间:
2015-3-30 21:36
标题:
static问题
今天刚学了static关键词,很不明白为什么在静态方法里没有this关键字?有没有大神指教一下!
作者:
Dyna
时间:
2015-3-30 21:57
因为静态是随着类的加载而加载。而this是对象创建才存在的。
作者:
青岛_黑马
时间:
2015-3-30 21:59
在创建对象之前就存在了
作者:
小七的
时间:
2015-3-30 22:27
static静态存储在方法区,在方法加载的时候就已经存在了,而this是对象创建之后才存在的,方法加载的时候没有创建对象,堆中是没有对象存在的,所以不存在this
作者:
幕丶落
时间:
2015-3-30 22:38
static 会随着类的加载而加载,而this是代表着对象,只有对象建立以后才会出现,所以static中不能出现this
作者:
luoyu1530
时间:
2015-3-30 22:45
这样说吧,你应该能理解this关键字的含义吧,谁调用了对象,那么this就是谁,那么问题答案就出来了
static修饰的东西是随着类的加载而加载的,也就是一用到类,静态就已经加载完成了,这个时候还没有对象,那this指向谁?很明显,这个时候的this是没有任何指向的,所以statia修饰的的方法没有this关键字
作者:
tubao1991
时间:
2015-3-30 22:46
JAVA中一般分为4个内存区域;
1、栈内存空间:存储引用的堆内存空间地址
2、堆内存空间:存储每个对象具体的属性值
3.全局数据区;保存static类型的属性
4、全局代码区:保存所有的方法定义
作者:
山里孩子
时间:
2015-3-30 22:46
静态优先于 对象存在 .this代表当前对象的引用,对象都没创建当然就用不成对象啦..呜^找不到对象^^
作者:
勇闯☀☀黑马
时间:
2015-3-30 23:29
首先你的弄懂this ,this代表对象,静态优先于对象存在。
作者:
@G00DMaN
时间:
2015-3-30 23:39
顶一下~~~
作者:
大神在何方
时间:
2015-3-30 23:53
this是要創建對象才會存在的,靜態是隨著類的加載而存在
作者:
smile2015
时间:
2015-3-31 01:09
当类的加载时,static就存在了,只有创建对象后,this才有,类加载时没有创建对象,所以没有this,而且当我们创建了对象时,this则表示,谁调用了它,this就指代谁
作者:
minliang
时间:
2015-3-31 09:26
静态方法是随着类的加载而加载的,可以用类名直接调用,也叫静态绑定,this是对象建立才有的,谁调用,this就代表谁,也叫动态绑定。
作者:
千玉屑
时间:
2015-3-31 10:42
静态是随着类的加载才会有,this是对象创建后才有的。
作者:
12300123
时间:
2015-3-31 17:38
通俗点说,静态是哥哥,this是弟弟,哥哥出生了,弟弟还没出生呢。
作者:
natsu647
时间:
2015-3-31 20:37
静态是先于对象而存在的,而this、super都是一定要有对象才行的。
作者:
leonard
时间:
2015-3-31 21:48
静态是所有对象所共享的属性,随类的加载就存在,可以不创建对象就调用。而this是指本类对象在本类中调用其它成员,super是父类内存的空间标识,都必须有实例对象才能使用
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2