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

既然在不同的方法中可以有同名局部变量,为什么在输出时只能输出一个同名变量的值?

package com.imooc;

public class Telphone {

//属性(成员变量)有什么

float screen;

float cpu;

float mem;

int var;

//方法 干什么

void call() {

int localVar=20;

               System.out.println("localVar:"+localVar);

System.out.println("var:"+var);

System.out.println("Telphone有打电话的功能!");

}

void sendMessage() {

int localVar=20;

System.out.println("localVar:"+localVar);

System.out.println("var:"+var);

   System.out.println("screen:"+screen+"cpu:"+cpu+"mem:"+mem+"Telphoe有发短信的功能!");

}

}

package com.imooc;


public class InitailTelphone {


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.call();

        System.out.println();

        phone.sendMessage();

}


}

运行结果为:

Telphone有打电话的功能!



localVar:20

var:0

screen:5.0cpu:1.4mem:2.0Telphoe有发短信的功能!


提问者:慕婉清4106374 2018-04-17 17:21

个回答

  • 慕郎神君5129929
    2018-07-31 15:46:36

    这个领域我只是个小学生

  • 如果我是DJ我是DJ我是DJ我是DJ
    2018-05-17 23:33:30

    你把两个方法里的localVar写成不一样的值,然后再次运行就可以看到

    他们两个之间没有关系,名字一样也不冲突,只是值都设置成20了

  • ConyZhang
    2018-04-17 19:31:17

    不可能

    复制你的代码 我的运行结果

    localVar:20

    var:0

    Telphone有打电话的功能!


    localVar:20

    var:0

    screen:5.0cpu:1.4mem:2.0Telphoe有发短信的功能!


  • 别来无恙丫丫
    2018-04-17 19:25:02

    没有说只能输出一个变量的值,你写两行输出语句不就两个了吗?两个输出语句,调用的方法不一样输出的结果也就不一样