## static静态代码块用于类加载后的静态属性的初始化**学生类花班费和花自己钱案例**

学生类Student

package com.baidu.demo04;

/**
 * 学生类
 */
public class Student {
    private String name;//姓名
    private double money;//自己的钱
    private static double clazzMoney;//班费
    //static代码块,优先加载,类成员(对类成员初始化)
    static {
        clazzMoney=1000003;
    }
    /**
     * 花自己的钱
     * @param money
     */
    public void spendMoney(double money){
        System.out.print(this.name+"原有"+this.money+" ");
        this.money-=money;
        System.out.println("花了"+money+",还剩"+this.money);
    }
    /**
     * 花班费
     * @param money
     */
    public void spendClazzMoney(double money){
        System.out.print("班级原有班费"+clazzMoney+" ");
        clazzMoney-=money;
        System.out.println("花了"+money+",还剩"+clazzMoney);
    }
    //无参有参构造器
    public Student() {
    }
    public Student(String name, double money) {
        this.name = name;
        this.money = money;
    }
    //get set方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getMoney() {
        return money;
    }
    public void setMoney(double money) {
        this.money = money;
    }
    public static double getClazzMoney() {
        return clazzMoney;
    }
    public static void setClazzMoney(double clazzMoney) {
        Student.clazzMoney = clazzMoney;
    }

}

测试

package com.baidu.demo04;

/**
 * 测试  实例成员和类成员的区别
 */
public class Test {
    public static void main(String[] args) {
        Student s1=new Student("田田", 21000000);
        Student s2 = new Student("猫仙",3900009);
        //花自己的钱
        s1.spendMoney(4000);
        s2.spendMoney(390);
        //花班费
        s1.spendClazzMoney(2000);
        s2.spendMoney(1986);
    }
}

运行结果

田田原有2.1E7 花了4000.0,还剩2.0996E7
猫仙原有3900009.0 花了390.0,还剩3899619.0
班级原有班费1000003.0 花了2000.0,还剩998003.0
猫仙原有3899619.0 花了1986.0,还剩3897633.0

Process finished with exit code 0

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值