Java基础巩固系列 类的属性(成员变量 VS 局部变量)

成员变量与局部变量的相同点与不同点:

  • 成员变量是什么?

 例如:

 public class Animal {
        String name;    //成员变量
        int age;
    }
  • 局部变量是什么?

例如:

        public void setAge(int age) { //局部变量age
            this.age = age;
        }
        public void addAge() {
            int i = 1;  //局部变量
            age += i;
        }

 

  • 相同点:
  1. 遵循变量声明的格式:数据类型 变量名 = 初始化值
  2. 都有作用域
  • 不同点:

 

  1. 声明的位置不同:成员变量:声明在类里方法外 ;局部变量:声明在方法内,方法的形参部分代码块
  2. 成员变量:成员变量的修饰符有四个:public private protected 缺省(即默认值);局部变量没有修饰符 ,与所在的方法加的修饰符相同
  3. 初始化值不同:

成员变量:如果在声明的时候,不显式地赋值,那么不同数据会有不同的默认初始化值

例如:

boolean        false

char              '/uoooo'(空格)

byte              (byte)0

short             (short)0

int                  0

long               0L

float               0.0f

double           0.0d

局部变量:一定要显式地赋值。(局部变量没有默认初始化值)

例如:

int a = 2;  //而不能直接写成int a;
a += 1; 

 

     4.二者在内存中存放的位置不同:成员变量:存在于空间中;局部变量:存在于空间中

代码:

        Person p1 = new Person();
        p1.setName("小明");

        class Person{

        public void setName(String n) {
            this.name = n;
          }

       }

内存图:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值