Static语句块和初始语句块的使用---2015年10月恒生电子笔试试卷
2015-10-18 14:49
316 查看
package lhm.test;
/**
* @author lenovo
*
*/
public class Person {
private int id;
private static int total = 0;
/**
*
*/
public Person() {
// TODO Auto-generated constructor stub
System.out.println("person构造方法");
total++;
id = total;
}
static{
System.out.println("这是Person的static语句块");
}
{
System.out.println("这是Person的初始语句块");
}
public int getId(){
return id;
}
}
/**
*
*/
package lhm.test;
/**
* @author lenovo
*
*/
public class TestStatic extends Person{
/**
*
*/
public TestStatic() {
// TODO Auto-generated constructor stub
System.out.println("Teststatic的构造方法");
}
{
System.out.println("这是TestStatic的初始语句块");
}
static{
System.out.println("这是TestStatic的static语句块");
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TestStatic ts = new TestStatic();
//Person p = new Person();
//Person p1 = new Person();
//System.out.println(p.getId());
//System.out.println(p1.getId());
}
}
最后结果为:
这是Person的static语句块
这是TestStatic的static语句块
这是Person的初始语句块
person构造方法
这是TestStatic的初始语句块
Teststatic的构造方法
static语句最先执行,执行时机是:该类所有static属性已被分配空间,默认初始化和显示初始化之后,在执行任何代码之前。
初始语句是在执行其他方法体之前,在对象分配空间及实例变量默认和显示初始化之后。
/**
* @author lenovo
*
*/
public class Person {
private int id;
private static int total = 0;
/**
*
*/
public Person() {
// TODO Auto-generated constructor stub
System.out.println("person构造方法");
total++;
id = total;
}
static{
System.out.println("这是Person的static语句块");
}
{
System.out.println("这是Person的初始语句块");
}
public int getId(){
return id;
}
}
/**
*
*/
package lhm.test;
/**
* @author lenovo
*
*/
public class TestStatic extends Person{
/**
*
*/
public TestStatic() {
// TODO Auto-generated constructor stub
System.out.println("Teststatic的构造方法");
}
{
System.out.println("这是TestStatic的初始语句块");
}
static{
System.out.println("这是TestStatic的static语句块");
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TestStatic ts = new TestStatic();
//Person p = new Person();
//Person p1 = new Person();
//System.out.println(p.getId());
//System.out.println(p1.getId());
}
}
最后结果为:
这是Person的static语句块
这是TestStatic的static语句块
这是Person的初始语句块
person构造方法
这是TestStatic的初始语句块
Teststatic的构造方法
static语句最先执行,执行时机是:该类所有static属性已被分配空间,默认初始化和显示初始化之后,在执行任何代码之前。
初始语句是在执行其他方法体之前,在对象分配空间及实例变量默认和显示初始化之后。
相关文章推荐
- eclipse常用配置
- 关于应用程序使用的端口
- [IR课程笔记]向量空间模型(Vector Space Model)
- 投票的Demo
- linux 标准输出、标准错误输出、以及shell小技巧
- Hadoop-2.3.0-cdh5.0.0 获取源码及编译
- 图表控件MsChart使用demo
- Leetcode260 Single Number III
- Deep Learning学习
- poj3122-Pie(二分法+贪心思想)
- 《夏洛特烦恼》其实是一部疗伤电影
- 《夏洛特烦恼》其实是一部疗伤电影
- 总有一种最适合你的营销方法,让营销效果翻翻
- Aizu 2170 Marked Ancestor(并查集变形)
- 关于 hashCode() 你需要了解的 3 件事
- java内存管理
- java 变量命名规则
- C语言总结错误
- Python future模块
- 数据结构实践项目——数组和广义表