这篇文章运用简单易懂的例子给大家介绍java中静态代码块的用法,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
静态代码块就是在类中用static{}括起来的代,因为属于类,所以在程序载入的时候就执行,优先于创造对象
static
可以修饰属性、方法、内部类、代码块。
静态代码块在类加载时就调用, 而且只执行一次, 并且优先于各种代码块以及构造函数。
有一个地方的静态代码被使用,那么所有的静态代码块都会被调用。
示例如下:
主类
public class Main {
public static void main(String[] args) {
// Human human = new Man(); 输出2 4 1 3
//父类的类名调用父类的方法
//Human.test();
//输出2 6 在调用静态代码时,怕需要上面的静态代码块的内容,所以将其链接到内存 与子类无关
//子类的类名调用子类的方法
//Man.doo();
// 输出2 4 5 在调用子类的静态方法时,父类的静态代码块执行,与父类的静态代码块有关
//子类的类名调用父类的方法
//Man.test();
// 输出 2 6 注意这个能调test不是因为继承,test声明在了human里,子类可以调用父类的方法,
//但是父类不能调用子类的方法 所以在Main中不可直达Man中的的方法
//子类调用了父类的方法,在父类的方法里又引用了子类里的静态方法
//Man.test(); 输出 2 6 4 5
}
}
父类
public class Human {
static {
System.out.println("2.父类中的静态代码块");
}
public String name;
public Human() {
System.out.println("1.父类中的构造方法");
}
public static void test() {
System.out.println("6.父类中的静态方法");
}
}
子类
public class Man extends Human {
static {
System.out.println("4.子类中的静态代码块");
}
public Man() {
System.out.println("3.子类中的构造方法");
}
public static void doo() {
System.out.println("5.子类中的静态方法");
}
}
静态代码块内容先执行(但只执行一次),接着执行父类构造方法,然后执行子类构造方法。
关于java中静态代码块的用法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。