5.18 静态代码块
demo1
class Person {
public Person(){
System.out.println("[构造方法]Person 类构造方法执行");
}
{// 构造块-会先于构造方法执行;并且每次实例化新对象的时候,都会调用构造块中的代码;
System.out.println("[构造块] Person 构造块执行!");
}
// 静态代码块---会优先于构造块执行,并且,不管有多少个实例化对象多少次,只会执行一次;
static {
System.out.println("[静态块] Person 静态块执行");
}
}
public class HelloWorld {
public static void main(String[] args) {
new Person();
new Person();
new Person();
}
}
// 静态代码块---主要指的是使用static关键词定义的代码块;
// 分2种情况:
// 1.在非主类中进行静态块的定义;
// 2.在主类中进行静态块的定义;
demo2
class Message {
public static String getCountry (){
return "中华人民共和国";
}
}
class Person {
private static String country;
static { // 静态代码块中可能有很多行需要执行;
country = Message.getCountry();
System.out.println(country);
}
}
public class HelloWorld {
public static void main(String[] args){
new Person();
}
}
demo3
public class HelloWorld {
static {// 静态代码块,优先于主方法先执行。
System.out.println("**** 初始化程序 *****");
}
public static void main(String[] args){
System.out.println("www.baidu.com");
}
}
相信坚持的力量,日复一日的习惯.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)