非静态属性的调用

非静态属性的调用

1. 一声明就被存储在栈中,直接占据内存,可以快速稳定的调用。

2. 生命周期长,从jvm加载开始到jvm加载结束。

3. 全局唯一,在一个运行环境中,静态变量只有一个值,任何一次修改都是全局性的影响。

4. 占据内存,程序中应该包含尽量少的static

5. 静态变量可以使用类名直接调用。

非静态属性:

1. new的时候占据内存,实例化后才能调用。

2. 非静态变量赋值不发生冲突。

3. 非静态变量则必须用对象引用调用。





以上是其他老师对其他同学的回答,我想问的是:在同一个类中,非静态方法不是可以对非静态属性直接调用吗

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿园 2020-05-22 19:37:06

同学你好,是的

1,在同一个类中,普通方法是可以直接调用非静态属性,不需要实例化。

2,在同一个类中的普通方法调用普通方法是不用实际化对象后再调用的。

如下图所示:

http://img1.sycdn.imooc.com//climg/5ec7b956092875b803990295.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

苍星乱舞 2020-05-22 10:40:38

一声明就被存储在栈中,直接占据内存,可以快速稳定的调用。

如果你说的是静态属性的话,是不对的

局部变量才保存在栈中

属性都是保存在   堆里的  (只看做  堆和栈 两个大划分的话)

你说的

  在同一个类中,非静态方法不是可以对非静态属性直接调用吗     

和你说的其他几条有什么冲突吗

  • 提问者 慕沐1462760 #1
    非静态属性的第一条,说的是实际化后才能调用。在同一个类中,普通方法不是可以对非静态属性直接调用吗,不用实际化啊
    2020-05-22 11:08:54
  • 苍星乱舞 回复 提问者 慕沐1462760 #2
    你的方法里是直接调用了,但是普通方法自己要先被调用不是吗 那调用普通方法不是要先创建对象 通过 对象名.方法()来调用吗 所以还是要先实例化啊
    2020-05-22 11:27:00
  • 提问者 慕沐1462760 回复 苍星乱舞 #3
    同一个类中的普通方法调用普通方法,是不用实际化对象后再调用的吧
    2020-05-22 16:03:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师