package com.bjsxt.test07;
/*
*
* 类中可以包含啥:
* 属性,方法,构造器,内部类,代码块
*
* 代码块分类:
* 1.普通块
* 2.静态块
* 3.构造块
* 4.同步块(多线程讲解)
*
*
*/
public class Test {
int age;
public void eat(){
System.out.println("eat..");
{
System.out.println("这里是一个普通块");
}
// if(1==1){
// System.out.println("----");
// int a=10;
// }
//
// for (int i = 0; i < 10; i++) {
//
// }
// System.out.println(a);
// System.err.println(i);
}
//也可以进行对象的初始化。缺点:不能传参数。一般解决的都是 在类中方法外写代码的问题。。
{
System.out.println("这里是构造块");
age=10;
}
//一般项目中需要初始化的东西放在static块中。。
static{
System.out.println("静态块");
}
public Test(){
System.out.println("这里是构造器。。");
}
public static void main(String[] args) {
Test t1=new Test();
t1.eat();
Test t2=new Test();
t2.eat();
Test t3=new Test();
t3.eat();
}
}
结果可以看出:
静态块只运行一次。
静态块》构造块》构造器》普通块
/*
*
* 类中可以包含啥:
* 属性,方法,构造器,内部类,代码块
*
* 代码块分类:
* 1.普通块
* 2.静态块
* 3.构造块
* 4.同步块(多线程讲解)
*
*
*/
public class Test {
int age;
public void eat(){
System.out.println("eat..");
{
System.out.println("这里是一个普通块");
}
// if(1==1){
// System.out.println("----");
// int a=10;
// }
//
// for (int i = 0; i < 10; i++) {
//
// }
// System.out.println(a);
// System.err.println(i);
}
//也可以进行对象的初始化。缺点:不能传参数。一般解决的都是 在类中方法外写代码的问题。。
{
System.out.println("这里是构造块");
age=10;
}
//一般项目中需要初始化的东西放在static块中。。
static{
System.out.println("静态块");
}
public Test(){
System.out.println("这里是构造器。。");
}
public static void main(String[] args) {
Test t1=new Test();
t1.eat();
Test t2=new Test();
t2.eat();
Test t3=new Test();
t3.eat();
}
}
结果可以看出:
静态块只运行一次。
静态块》构造块》构造器》普通块