static静态代码块

该博客介绍了Java中类的静态属性初始化及其使用。通过一个`Money`类的示例,展示了静态变量如何被类加载时初始化,并通过`static`代码块设置初始值。同时,演示了静态方法和实例方法的区别,以及如何通过类名和对象调用这些方法。在测试类中创建了两个`Money`对象并进行花钱和花班费的操作,展示了静态属性在多个对象间的共享特性。
摘要由CSDN通过智能技术生成

用于类加载后的静态属性的初始化

案例

类成员不属于任何对象,所有对象都可以共享和访问,可以直接通过类名和对象名引用和访问

类方法中不能直接访问实例成员

package cn.hp10;

public class Money {
    private  String name;
    private double money;
    private static double moneys;
    //static静态代码块

    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 getMoneys() {
        return moneys;
    }

    public static void setMoneys(double moneys) {
        Money.moneys = moneys;
    }

    public Money(String name, double money) {
        this.name = name;
        this.money = money;
    }

    public Money() {
    }

    static {
        //初始化变量
        moneys=1000000;
    }
    public void huaqian(double money){
        System.out.println(this.name+"钱包有"+this.money);
        this.money-=money;
        System.out.println("花了"+money+"元,剩余"+this.money);
    }
    public void banfei(double money){
        System.out.println("班费原有钱"+moneys);
        moneys-=money;
        System.out.println("花了"+money+"元,班费还剩"+moneys);
    }

}

 测试类

package cn.hp10;

public class Test01 {
    public static void main(String[] args) {
        //创建俩人
        Money a=new Money("ll", 1000000000);
        Money b=new Money("ss", 10);
        //花钱
        a.huaqian(10000);
        b.huaqian(5);
        //花班费
        a.banfei(30000);
        b.banfei(3);
    }
}

测试结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值