成员变量与局部变量

什么是变量 ;      变量 , 顾名思义,可以变化的量!

class定义一个类,类中包含属性和方法,

方法外的,类内部的属性被称为成员变量

方法内,声明的变量被称为局部变量;

还有一种特殊的变量被叫做静态变量,用 static 修饰的变量

具体情况来看代码:

public class Variable {
    /**
     * 成员变量 声明在类的一对大括号内
     * 可以使用权限修饰符修饰成员变量
     * 有默认初始值 根据其类型确定默认初始值为多少
     * 作用域为堆空间 (非static的)
     * (static修饰的变量 作用域在方法区中)
     * 例如:int 默认 0;
     */
    int count;
    /**
     * static可以修饰成员变量
     */
    static int num;
    /**
     * 局部变量 声明在方法内,方法形参,代码块,构造器形参,构造器内部的变量
     * 不可以使用权限修饰符修饰
     * 没有默认初始值,在调用局部变量时,必须显式的赋值!
     * 作用域为栈空间
     */
    public void info(){
        int a = 10;
        //static int b; static不能修饰局部变量 会变红报错
        System.out.println(++a);
        System.out.println(count);
    }
    public void staticNum(){
        System.out.println(++num);
        System.out.println(++num);
    }
   
    public static void main(String[] args) {
        /**
         * 实例化两个不同的对象分别调用两个方法
         */
        Variable v1 = new Variable();
        Variable v2 = new Variable();

        /**
         * 两个实例化对象分别操作的两套成员变量与局部变量
         * 所以调用info方法
         * 结果为11 0 ; 11 0 ;
         */
        v1.info();
        v2.info();
        System.out.println("***********************");
        /**
         * 而static静态变量只存在与方法区,两个实例化对象调用的是方法区内同一个静态变量
         * 所以这时候的结果就在原来基础上累加
         * 结果为 1 2 ; 3 4 ;
         */
        v1.staticNum();
        v2.staticNum();
    }
}

输出结果为:

11
0
11
0
***********************
1
2
3
4

具体说明都在代码文档注释里,这里不在一 一写出!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值