php 静态代码块,java深入学习之static静态代码块

c7a56d6db3cd6677b2f1def4a01bc89d.png

静态代码块

static可以修饰属性、方法、内部类、代码块。

静态代码块在类加载时就调用, 而且只执行一次, 并且优先于各种代码块以及构造函数。

有一个地方的静态代码被使用,那么所有的静态代码块都会被调用。

示例如下:

父类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.子类中的静态方法");

}

}

主类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

}

}

静态代码块内容先执行(但只执行一次),接着执行父类构造方法,然后执行子类构造方法。

本文来自java入门程序栏目,欢迎大家来共同交流学习!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值