代码块
来源:互联网 发布:jsp如何引入java类 编辑:程序博客网 时间:2024/05/17 02:22
局部代码块:
让局部变量的空间尽快释放
构造代码块:
{ } 每次创建对象时调用,先执行构造代码块然后执行构造方法。如果一个类有父类则先执行父类的构造代码块,父类构造方法,再执行子类构造代码块,子类构造方法。
静态代码块:
static{} 在类加载时被执行,而且只被执行一次。只在第一次创建对象时被调用,再创建其他对象时不再重复调用。
执行顺序:
/*看下面的程序说出执行结果并阐述程序的执行流程2.执行流程a)首先加载main方法所在的类Test.classb)然后执行Test类中的静态代码块,输出: Test 类的静态代码块c)接下来执行main方法,输出: mian方法d)创建Student对象之前,先要加载Student.classe)然后执行Student类中的静态代码块,输出:Student 类的静态代码块 f)接下来执行main方法中创建Student对象,调用的构造方法,输出:在main方法中创建Student对象调用的g)最后执行创建Test的对象的代码,在创建Test对象时候,会为成员变量分配存储空间,并执行后面的创建Student对象的语句,输出: 在成员变量显式初始化的时候创建Student对象调用的*/
public class Student {
static {
System.out.println("Student 类的静态代码块");
}
public Student(){
System.out.println("Student 类的构造方法");
}
public Student(String methodName){
System.out.println("在"+methodName+"创建Student对象调用的");
}
}
/*提示: 1. 类只有被使用就会加载到内存中
2. 只有创建对象才会为成员变量分配存储空间*/
public class Test {
// 实例(对象)成员变量
Student s = new Student("成员变量显式初始化的时候");
// 静态代码块
static {
System.out.println("Test 类的静态代码块");
}
public static void main(String[] args) {
System.out.println("main方法");
// 创建学生对象
Student s1 = new Student("main方法中");
// 创建Test对象
Test t = new Test();
}
}
阅读全文
0 0
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- react ref 属性
- MapReduce---chain链条式操作
- 2017.8.18---------树状数组逆序+离散
- 数据结构数据结构系统学习之路
- 使用istream对象作为条件
- 代码块
- 在ubuntu 16.04上安装docker
- 个人总结(1)
- 接口的幂等性设计
- (转载)ztree 添加节点的图标无法正常显示解决方法
- 50. Pow(x, n)
- Fork/Join框架
- Spring(一)之IOC、bean、注入
- error C2039: “classCObject”: 不是“CObject”的成员 等错误