代码块与静态代码块与静态方法的加载顺序

Posted Ycheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码块与静态代码块与静态方法的加载顺序相关的知识,希望对你有一定的参考价值。

 
public abstract class ClassLoadingTest {

    public static void main(String[] args) {
        User user3 = new User();
        
    }
}


public
class User { public static User user= new User("wang",18); public static void userSay(){ System.out.println("调用userSay静态方法"); user.say(); } static{ User.userSay(); System.out.println("进入静态构造代码块"); User user2333 = new User("wang2333", 19); user2333.say(); user.say(); } { System.out.println("进入代码块"); } private String name; private int age; public User() {} public User(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void say(){ System.out.println(this.getName() + "调用say方法"); } }
执行结果:
进入代码块 调用userSay静态方法 wang调用say方法 进入静态构造代码块 进入代码块 wang2333调用say方法 wang调用say方法 进入代码块

  

 

以上是关于代码块与静态代码块与静态方法的加载顺序的主要内容,如果未能解决你的问题,请参考以下文章

静态代码块与非静态代码块

JavaSE8基础 父子类中都有静态代码块与构造代码块,执行顺序的简单示例

java新建对象的static块与构造器的执行顺序

Java基础6:代码块与代码加载顺序

实例块与静态块

Java基础6:代码块与代码加载顺序