package Demo3_4;
public class Demo3_4
{
static int i=1;//存在静态区里
static//不会因为创建对象实例而触发
{
System.out.println("该静态区域块只被执行一次");
i++;//该静态区域块只被执行一次
}
public Demo3_4()
{
System.out.println("这个地方执行了两次");
i++;
}
public static void main(String[] args)
{
Demo3_4 t1 = new Demo3_4();
System.out.println(t1.i);
Demo3_4 t2 = new Demo3_4();
System.out.println(t2.i);
}
}
java中静态变量的问题
package demo3_2;
public class demo3_2
{
public static void main(String[] args)
{
Stu stu1=new Stu(29,"aa",340);
Stu stu2=new Stu(39,"bb",240);
System.out.println(Stu.getTotalFee());
}
}
//学生
class Stu
{
int age;
String name;
int fee;
static int totalFee;
public Stu(int age,String name,int fee)
{
this.age=age;
this.name=name;
totalFee+=fee;//普通的成员方法可以访问静态变量
}
//返回总学费,这是一个类方法(静态方法)
//java中规则:类变量原则上用类方法去访问
public static int getTotalFee()
{
//age++; 错误,静态方法不能够访问非静态变量
return totalFee;
}
}