问答详情
源自:8-5 Java 中的成员变量和局部变量

不明白为什么输入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();

}


}


提问者:qq_举个栗子_2 2016-02-01 22:34

个回答

  • Redemption_0
    2016-02-01 23:18:47
    已采纳

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

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

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

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


  • Redemption_0
    2016-02-01 23:51:30

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