为了账号安全,请及时绑定邮箱和手机立即绑定

不明白为什么输入phone.call();就可以运行出新属性int var;的两个默认赋值结果;




package com.imooc;


public class Initail {


public static void main(String[] args) {

// TODO Auto-generated method stub

                   Telphone phone=new Telphone();

                   phone.sendMessage();

                   //给实例变量赋值

                   phone.screen=5.0f;

                   phone.cpu=1.4f;

                   phone.mem=2.0f;

                   //调用对象名的使用方法

                   phone.sendMessage();

                   phone.call();

}


}


正在回答

2 回答

首先在这里 Telphone phone=new Telphone();

我们的内存会为这个phone划出一块内存,为里面申明的内存划一块内存。

在对象被创建时,Java虚拟机对实例变量在分配存储空间时,自动赋给实例变量相应的默认值。对其中简单类型中的数值型实例变量均赋给0值。

call();这个方法中输出了一个局部变量localVar和一个成员变量var。只有var是默认赋值结果哦


0 回复 有任何疑惑可以回复我~
#1

qq_举个栗子_2 提问者

谢谢你!对哦,我的问题就有问题;局部变量是没有默认赋值的。但我还是不明白,call();这个方法为什么能输出局部变量和成员变量这两个。call();是一种方法吗?
2016-02-01 回复 有任何疑惑可以回复我~

对啊,他在定义Telphone这个类的时候  第一个方法就是void call(); 啊

0 回复 有任何疑惑可以回复我~
#1

qq_举个栗子_2 提问者

啊 ,要完了要完了;一定是夜深了脑子不能用了。我知道了 ,谢谢
2016-02-01 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

不明白为什么输入phone.call();就可以运行出新属性int var;的两个默认赋值结果;

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信