JAVA代码块非静态代码块与静态代码块构造函数比较
来源:互联网 发布:软件性能指标描述 编辑:程序博客网 时间:2024/05/14 11:43
昨天在工作中看到了一串代码,让我有点三脸懵逼
public String insertPersonSql() {
return new SQL() {{
INSERT_INTO("PERSON");
VALUES("ID, FIRST_NAME", "#{id}, #{firstName}");
VALUES("LAST_NAME", "#{lastName}");
}}.toString();
}
作为一个刚入职的新员工,还是贯彻不懂就问的原则,结果同事也说,平时是直接复制粘贴的,一下子答不上来了。今天去加班,搜了好久,发现了代码块的概念,以前居然真的不知道有这么一个东东。查阅了一些资料,发现这个非静态代码块也被称作构造代码块,没构造一个实例都会执行一次,构造代码块无论如何初始化对象都会执行而构造函数只有匹配函数时才会执行。有下面一个例子return new SQL() {{
INSERT_INTO("PERSON");
VALUES("ID, FIRST_NAME", "#{id}, #{firstName}");
VALUES("LAST_NAME", "#{lastName}");
}}.toString();
}
class Person
{
String name;
//构造函数的代码块
{
System.out.println("哇啊");
}
Person()
{
name="baby";
show();
}
Person(String name)
{
this.name=name;
show();
}
void show()
{
System.out.println("name"+name);
}
}
class StaticConstructor
{
public static void main(String[] args)
{
Person p1=new Person();
Person p2=new Person("旺财");
}
}
//哇啊
//namebaby
//哇啊
//name旺财
阅读全文
0 0
- JAVA代码块非静态代码块与静态代码块构造函数比较
- java 代码块,构造代码块,与静态代码块
- 静态代码块,非静态代码块,构造函数
- JAVA中父类与子类静态代码块、非静态代码块、构造函数的加载顺序
- Java中静态代码块、非静态代码块、构造函数的执行顺序与作用
- java 静态代码块与非静态代码块
- 构造代码块与静态代码块
- 构造函数、构造代码块与静态代码块
- 静态代码块,构造代码块与构造函数
- Java中的构造函数、构造代码块、静态代码块
- Java静态代码块、构造函数、构造代码块
- Java静态代码块、构造代码块、构造函数
- Java静态代码块、构造代码块、构造函数
- 构造代码块与静态代码块(静态初始化块)
- Java静态与非静态代码块
- static静态代码块与非静态代码块与构造函数执行顺序
- static静态代码块与非静态代码块 + 构造函数
- static静态代码块与非静态代码块 + 构造函数
- 【Android学习笔记系列】AsyncTask的使用和介绍(获取网络图片与进度条实例)
- Two big numbers to multiply
- 安卓RecyclerView万能适配器之baserecyclerviewadapterhelper详解
- Linux开机启动程序详解
- CodeChef SnakeDown2017 E解题报告
- JAVA代码块非静态代码块与静态代码块构造函数比较
- Effective Objective-C 2.0 总结(四)
- 1066. 图像过滤(15)
- Maven私服nexus添加第三方JAR
- 2.linux内核模块
- ZooKeeper与NanmeNode的HA的一些理解,包括hdfs zkfc -formatZK的作用等。但与DN无关
- 音视频数据处理(-1) BMP格式详解
- maven国内服务器
- 加载插件(四)之动态加载