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

来源:8-5 Java 中的成员变量和局部变量

慕婉清4106374

2018-04-17 17:21

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有发短信的功能!


写回答 关注

4回答

  • 慕郎神君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

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

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530655 学习 · 6091 问题

查看课程

相似问题