用于类加载后的静态属性的初始化
案例
类成员不属于任何对象,所有对象都可以共享和访问,可以直接通过类名和对象名引用和访问
类方法中不能直接访问实例成员
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);
}
}
测试结果