67,513
社区成员
发帖
与我相关
我的任务
分享
public class Student extends User {
static {
System.out.println("静态代码Student1");
}
private String old;
{
System.out.println("静态代码Student2");
}
public Student() {
System.out.println("无参构造Student1");
}
public Student(String old) {
this.old = old;
System.out.println("有参构造Student1");
}
public static void main(String[] args) {
new Student();
}
}
public class User {
static {
System.out.println("静态代码user1");
}
private String name;
{
System.out.println("静态代码user2");
}
public User() {
System.out.println("无参构造user1");
}
public User(String name) {
this.name = name;
System.out.println("有参构造user1");
}
}
先执行静态的 然后在执行构造
实例化一个对象,必然会调用构造函数,未必是第一个执行的。public class Student { static{ System.out.println("1"); } { System.out.println("2"); } public Student(){ System.out.println("3"); } public static void main(String[] args) { new Student(); } }
public class Student {
static{
System.out.println("1");
}
{
System.out.println("2");
}
public Student(){
System.out.println("3");
}
public static void main(String[] args) {
new Student();
}
}
是的