Java中局部变量,成员变量,静态变量

局部变量:从属于方法、语句块,只在所属区域有效

声明位置:方法、语句块内部
生命周期:从声明位置开始到方法或语句块执行完毕,局部变量消失

成员变量:成员变量会自动被初始化

声明位置:类内部,方法外部
1.实例变量(不用static修饰)
从属于对象
生命周期:与对象一致
2.静态变量(static修饰)
从属于类
生命周期:与类一致,类被加载,静态变量就有效;类被卸载,静态变量消失;

静态方法只能访问静态属性
静态方法不能使用this关键字
静态方法不能调用非静态方法,反之可以
非静态方法既能访问静态属性,也能访问非静态属性
非静态方法不能定义静态变量

静态变量(属性)与非静态变量(属性)的区别

class Beauty {
    int age1;  //非静态属性age1
    static int age2;  //静态属性age2
}

class TestPerson {
    public static void main(String[] args) {

        Beauty b1 = new Beauty();
        b1.age2 = 20;

        Beauty b2 = new Beauty();
        b2.age2 = 10;      //运行结果都是10,静态变量在类加载的时候就被分配了一个地址,地址里面存它的值,然后这个类的对象的该属性都是找这个地址,从该地址里面找值
                                         //相当于静态变量在该类中是共享的
                                        //普通变量只有在创建对象的时候才会分配地址
        
        System.out.println(b1.age2);  //非静态属性只能通过对象访问
        System.out.println(b2.age2);  //静态属性既可通过 类名 也可通过 对象 访问
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值