关于Java代码块的小小细节
2017-04-22 11:26
148 查看
最近翻阅书籍的时候,看到一些有趣的知识点,这些知识点笔者居然一点儿也不了解,思来想去许久,除了惊讶之外,也说明笔者的知识浅陋的同时,知识储备还有待高呀。
好了,闲话不多说,关于Java代码块笔者可分为X大类:
1 ,普通代码块:
1.1 关于普通代码块其实没什么说的,此代码块经常跟在方法或者类后面,形成一块方法区或类区域。没错,普通代码块就是随处可见的花括号‘{ }’。
2 , 构造代码块:
2.1 顾名思义构造代码块,就是在类中直接定义,且没有任何前缀、后缀修饰以及修饰符的代码块。
2.2 构造代码块和构造方法一样,是在对象创建时被调用,但构造代码块调用时机却比构造方法还要早。
2.3 如果一个类中有多个构造方法(函数),而这些构造函数都需要初始化成员变量,那么我们可以把构造方法中的相同部分,抽到构造代码块中,达到提高代码的复用性的效果。
2.4 构造代码块不在任何方法体之内,仅位于类的范围,它的地位和其他方法体对等。我们可以这样理解,构造代码块时没有名字的方法体,仅限用于对类数据成员初始化,且仅运行一次。
3, 静态代码块 :
3.1 使用Static关键字修饰的花括号便是静态代码块了,只要功能是用来初始化静态成员变量,但….笔者很少见过。一般用在类加载…
3.2 静态代码块执行时间比main(),构造方法要早。且不管有多少类对象被初始化,静态代码块仅执行一次。
好了,闲话不多说,关于Java代码块笔者可分为X大类:
1 ,普通代码块:
public static void main(String[] args) { { int a = 10; System.out.println(a); } System.out.println(a); }
1.1 关于普通代码块其实没什么说的,此代码块经常跟在方法或者类后面,形成一块方法区或类区域。没错,普通代码块就是随处可见的花括号‘{ }’。
2 , 构造代码块:
2.1 顾名思义构造代码块,就是在类中直接定义,且没有任何前缀、后缀修饰以及修饰符的代码块。
2.2 构造代码块和构造方法一样,是在对象创建时被调用,但构造代码块调用时机却比构造方法还要早。
2.3 如果一个类中有多个构造方法(函数),而这些构造函数都需要初始化成员变量,那么我们可以把构造方法中的相同部分,抽到构造代码块中,达到提高代码的复用性的效果。
2.4 构造代码块不在任何方法体之内,仅位于类的范围,它的地位和其他方法体对等。我们可以这样理解,构造代码块时没有名字的方法体,仅限用于对类数据成员初始化,且仅运行一次。
public class Test { //构造代码块 { System.out.println("执行,构造代码块!"); } //构造方法 public Test() { System.out.println("执行,构造方法代码块!"); } public static void main(String[] args) { Test t = new Test(); } }
3, 静态代码块 :
3.1 使用Static关键字修饰的花括号便是静态代码块了,只要功能是用来初始化静态成员变量,但….笔者很少见过。一般用在类加载…
3.2 静态代码块执行时间比main(),构造方法要早。且不管有多少类对象被初始化,静态代码块仅执行一次。
public class Test { static int a; //静态代码块 static{ a = 10; System.out.println("执行,静态代码块!"); } //构造代码块 { System.out.println("执行,构造代码块!"); } public Test() { System.out.println("执行,构造方法代码块!"); } public static void main(String[] args) { Test t = new Test(); } }
相关文章推荐
- Java【多线程知识总结(7)】多线程同步问题-关于synchronized代码块和synchronized方法的应用
- java中关于try、catch、finally中的细节分析
- 黑马程序员之java中关于try、catch、finally中的细节分析
- 关于java中子类,父类中,静态代码块: staic{},动态代码块:{},构造方法,类属性,对象属性等执行顺序做个总结:
- 关于java中的非静态代码块和静态代码块
- 关于java中的finlly里的return和throw的一些小细节
- 关于索引器和访问器的访问修饰的小小细节
- java中关于try、catch、finally中的细节分析
- 黑马程序员_关于java中代码块的问题
- 关于Java中的静态代码块
- 关于Java中静态代码块以及构造函数的执行先后顺序
- 关于Java中静态代码块以及构造函数的执行先后顺序
- 《黑马程序员》java笔记->细节,关于三元运算符
- java IO 关于创建文件的一个细节、技巧
- 关于Java中静态代码块以及构造函数的执行先后顺序
- Java【多线程知识总结(7)】多线程同步问题-关于synchronized代码块和synchronized方法的应用
- 关于java对象流使用的细节注意
- java中关于try、catch、finally中的细节分析
- 三、Java基础---------关于继承、构造函数、静态代码块执行顺序示例讲解
- Java基础 Java中关于内部类的小细节