本文主要是介绍Java的代码块,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Java的代码块
/*
类的成员之四:代码块(或初始化块)
1、代码块的作用:用来初始化类、对象
2、代码块如果有修饰的话,只能用static
3、分类:静态代码块 vs非静态代码块
4、静态代码块
>可以有输出语句
>随着类的加载而执行
>作用:初始化类的信息
>如果一个类中定义多个静态代码块,则按照声明的先后顺序执行
>静态代码块的中心要优先于非静态代码块的执行
>静态代码块内只能调用静态的属性,静态的方法,不能调用非静态属性和方法
5、非静态代码块
>可以有输出语句
>随着对象的创建而执行
>每创建一个对象,就只送一次非静态代码块
>作用:可以在创建对象时,对对象的属性等进行初始化
>如果一个类中定义多个非静态代码块,则按照声明的先后顺序执行
>静态代码块内只能调用静态的属性,静态的方法,可以调用非静态属性和方法
*/
public class BlockTest {
public static void main(String[] args) {
String desc=Person.desc;
System.out.println(desc);
Person p1=new Person();
Person p2=new Person();
System.out.println(p1.age);
Person.info();
}
}
class Person {
//属性
String name;
int age;
static String desc = "一个人";
//构造器
Person() {
}
public Person(String name, int age) {
this.age = age;
this.name = name;
}
//static代码块
static {
System.out.println("hello,static Block1");
//调用静态结构
desc="我是一个帅哥 ";
info();
// eat();
// name="tom";
}
//static代码块
static {
System.out.println("hello,static Block2");
}
//非static代码块
{
System.out.println("hello,Block");
//调用非静态结构
age=1;
eat();
//调用静态结构
info();
name="tom";
}
//方法
public void eat(){
System.out.println("吃饭");
}
public String toString(){
return "Person[name="+name+",age="+age+"]";
}
public static void info(){
System.out.println("我是个快乐的人");
}
}
这篇关于Java的代码块的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!