1. Java字段初始化的规律

首先执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”。

其次执行类的构造函数。

类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行。因此,适合于封装那些“对象创建时必须执行的代码”。

2. 静态方法中访问类的实例成员

public class Employee {
String name;
long salary;
short employee_id;
static int total_employees;
static void clear(){
total_employees=0;
//类的静态方法只能访问类的静态成员!
new Employee().salary=0;
//在静态方法中访问类的实例变量需首先进行类的实例化
}
}

3. 构造函数不全

public class Test {
public static void main(String[] args) {
Foo obj1 = new Foo();
} class Foo {
int value; public Foo(int initValue) {
value = initValue;
}
} }

错误原因:构造函数 Test.Foo()未定义

4. 静态初始化块的执行顺序

  1,静态初始化块只执行一次。

  2, 创建子类型的对象时,也会导致父类型的静态初始化块的执行。

5. 查询已创建对象数目

public class Test {
static int testNum = 0; Test() {
testNum++;
} public static void main(String[] args) {
System.out.println(testNum);
Test t = new Test();
System.out.println(testNum); }
}

最新文章

  1. H5拍照应用开发经历的那些坑儿
  2. C#动态webservice调用接口 (JAVA,C#)
  3. 一次更愚蠢的NOIP模拟赛
  4. 记录linux系统用户shell终端操作记录
  5. 众安「尊享e生」果真牛的不可一世么?
  6. Objective-C Runtime之着魔的UIAlertView
  7. Lintcode--008(编辑距离)
  8. Codeforces Round #107 (Div. 2)---A. Soft Drinking
  9. DEV下拉框LookUpEdit使用技巧
  10. BootstrapTable-导出数据
  11. 为nginx创建windows服务自启动
  12. laravel打印sql
  13. Django--权限信息操作
  14. leetcode19
  15. Spark RDD操作之Map系算子
  16. WordPress主题开发: 制作文章页面single.php
  17. 【javascript】js 获取 url 后的参数值
  18. centos7部署cacti
  19. block本质探寻五之atuto类型局部实例对象
  20. Linux上运行Jmeter

热门文章

  1. 原生js实现响应式轮播图,支持电脑端点击切图,手机端滑动切图
  2. JAXB常用注解讲解(超详细)
  3. js New一个函数和直接调用的区别
  4. 【t081】序列长度(贪心做法)
  5. C# 通过编程的方法在桌面创建回收站快捷方式
  6. codeforces 1185G1 状压dp
  7. Asp.net全局资源文件( App_GlobalResources)和本地资源文件(App_LocalResources)
  8. 023.MFC_属性页控件(tab control)
  9. 一篇长文说 git 基础
  10. Elasticsearch系列---实战搜索语法