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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

求解答

点评

来学习的,我的理解和3楼的一样  发表于 2015-1-11 22:39

10 个回复

倒序浏览
非静态方法可能会访问类的实例变量,而实例变量的存在依赖于对象的存在。若静态方法可以访问非静态方法,此时如果用类名直接调用静态方法,那如此静态方法也可以直接操作实例变量了,而此时实例变量并不存在。
回复 使用道具 举报
简单理解:静态方法是在类加载的时候就出现的,而非静态方法是该类实例化成对象时才能才存在的,先出现的不能去调用后出现的。

点评

言简意赅,不错  发表于 2015-1-11 19:51
回复 使用道具 举报
来学习的    路过!!!
回复 使用道具 举报
来学习的,路过的
回复 使用道具 举报
静态方法在方法区中 随类的加载而加载,而非静态变量是随对象的建立而存在,在堆内存中。没有对象就没有非静态变量,那么静态方法又怎么能去访问一个可能不存在的变量呢
回复 使用道具 举报
phil 中级黑马 2015-1-11 21:57:20
7#
来学习一下,加油!
回复 使用道具 举报
xiaoyi 中级黑马 2015-1-12 11:26:52
8#
lwj123 发表于 2015-1-11 19:42
简单理解:静态方法是在类加载的时候就出现的,而非静态方法是该类实例化成对象时才能才存在的,先出现的不 ...

知道了 感谢
回复 使用道具 举报
static所修饰的方法是随着类的加载而被加载的,它是先于对象而存在的。而非静态的方法则是依赖于对象而存在的。当 调用静态方法时,此时对象不一定是存在的,所以非静态方法此时也不一定是有意义的。因此,静态方法内部是不能调用非静态的方法的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马