[Java学习笔记]成员变量、类变量和局部变量

成员变量、类变量和局部变量

如果局部变量的名字和成员变量的名字相同, 要想在该方法中使用成员变量,必须使用关键字this

class People {
    String name = "类体中定义的name";

    People(){
    }

    public void speak() {
        String name = "方法中定义的name";
        System.out.println(name);
        System.out.println(this.name);  //引用成员变量
    }
}

public class TestThis {
    public static void main(String[] args) {
        People myPeople = new People();
        myPeople.speak();
    }
}

--------------
方法中定义的name
类体中定义的name

成员变量和局部变量的区别:
在这里插入图片描述

成员变量和类变量的区别:
在这里插入图片描述

class  TestA {
    static int a = 0; //类变量
    public int b = 0; //实例变量
    public void method(){
        int i =0; // 局部变量
    }
}

public class Test {
    public static void main(String[] args) {
        TestA a1 = new TestA();
        TestA a2 = new TestA();
        a1.a = 2;
        a1.b = 5;
        // a1.i = 3; //无法引用局部变量,局部变量只在声明它的方法、构造方法或者语句块中可见
        System.out.println(a2.a); //结果为2
        //类变量是针对所有对象的,所以a1改变a,a2的a也改变
        System.out.println(a2.b); //结果为0
        //实例只改变自身的,所以a1对象的b改变,不影响对象a2的b变量
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值