CodeGym学习(一):static变量与非static变量

static变量

如果变量被声明为 static,即标记有关键字 static,则它在类存在期间一直存在。JVM (Java虚拟机)通常在首次使用类时将其加载到内存中。static 变量也是在此时进行初始化的。
在这里插入图片描述
上图中的Cat 类包含4个变量,其中count变量被声明为static变量,由类的所有对象共享,可称作是类变量。而a、b、s为非static变量,每个实例中可以存在不同的值,可称作实例变量。由于static变量是所有对象所共享的,所以在使用时需要在变量名前面加上类名,如Cat.count。而非static变量是每个实例所独有的,在使用时需要在变量名前面加上this。如this.a。

实战演习

class test  
{
   public static void main(String[] args) {
       //创建Apple实例,并调用addPrice方法
        Apple apple1 = new Apple();
        apple1.addPrice(50);
        Apple apple2 = new Apple();
        apple2.addPrice(100);
        //输出结果
        System.out.println("苹果1的价格为 " + apple1.applePrice);
        System.out.println("苹果2的价格为 " + apple2.applePrice);
        System.out.println("苹果的总价格为 " + Apple.sum);
        
    }
    //创建一个Apple类
    public static class Apple {
        public static int sum = 0; 						//所有苹果的总价格
        int applePrice;          						//该苹果的价格
        public void addPrice(int applePrice) { 
            this.applePrice = applePrice; 				//设置苹果价格 
            Apple.sum += applePrice;       				//设置苹果总价 
        }
    }
}

在上述代码中,创建了Apple类,声明了两个变量:sum(static变量)、applePrice(非static变量)。在编写addPrice方法时,使用 this.applePrice = appPrice 语句为实例变量applePrice赋值,使用 Apple.sum += applePrice 为类变量sum赋值。
输出结果为:
苹果1的价格为 50
苹果2的价格为 100
苹果的总价格为 150

总结

在调用类中的static变量时,使用类名.变量名;在调用类中的非static变量时,使用this.变量名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值