成员变量和局部变量的区别

1.在类中的位置不同

        成员变量:类中方法外

        局部变量:方法内

2.在内存中的位置不同

        成员变量:堆内存中

        局部变量:栈内存中

3.生命周期不同

        成员变量:随着对象的存在而存在,随着对象的消失而消失

        局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

4.初始化值不同

        成员变量:有默认的初始化值

        局部变量:没有默认的初始值,必须先定义,赋值,才能使用

注意:

1)局部变量的名字可以和成员变量的名字一样,在方法中使用的时候,采用就近原则

      方法中使用的变量,会先在方法内部查找,如果方法内部没有,就去成员变量中查找

2) 方法和方法之间里面的局部变量,不能相互调用

class BianLiang{
    String name;
    int age;

    public void show(int n){
        n = 10;
        int a = 20;
//        int b;
//        System.out.println(b);  报错.局部变量要赋值才能使用
        System.out.println(n);
        System.out.println(a);

        String name = "王宇";  //局部变量的名字可以和成员变量的名字一样
        System.out.println(name);  //在方法使用的时候,采用就近原则
    }

    public void show2(){
//        System.out.println(a);  先在方法内部查找a,再去成员变量中查找,方法与方法之间的局部变量不能相互调用
    }
}


public class BianLiangDemo {
    public static void main(String[] args) {
        //成员变量的使用,需要创建对象(最起码这里是要创建对象才能使用的)
        BianLiang b1 = new BianLiang();
        b1.name = "小明";
        System.out.println(b1.name);

        b1.show(100);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

+7_big data

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值