package New_Dao;
public class New_Persn {
String name;
static int age ;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public New_Persn (){
this.name="张三";
System.out.println("执行了构造器");
}
{ // 非静态代码块每次实例都执行一次
System.out.println("执行的是非静态代码块");
}
//静态代码块
static {
// 这里只能使用静态statsc修饰的属性和方法
age = 18;
showAge();
}
public static void showAge(){
//静态代码实例的时候只会执行一次
System.out.println(age);
System.out.println("执行的是静态代码块");
}
}
package New_Main;
import New_Dao.New_Persn;
public class Test {
public static void main(String[] args) {
// new New_Persn();
// new New_Persn();
New_Persn p = new New_Persn(){
{
super.setName(“李四”);
}
};
System.out.println(p.getName());
}
}
本文介绍了一个Java类的构造过程及非静态与静态代码块的执行机制。通过具体示例展示了如何定义类、构造器以及静态和非静态代码块,并解释了它们在类实例化时的执行顺序。
3535

被折叠的 条评论
为什么被折叠?



