(1)动手动脑

该函数没有赋初值再就是如果类提供一个自定义的构造方法,将导致系统不在提供默认的构造方法。

(2)

public class test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
InitializeBlockClass obj=new InitializeBlockClass();
System.out.println(obj.field);//?

obj=new InitializeBlockClass(300);
System.out.println(obj.field);
}

}

class InitializeBlockClass{
{field=200;}
public int field=100;
public InitializeBlockClass(int value){this.field=value;}
public InitializeBlockClass(){}
}

代码的执行结果:

java字段的所有类的变量都默认初始化为null,比如String a; Integer b;
数字类的原始数据类型默认初始化为0,比如int a; short b; char c;
boolean默认初始化为false。执行类成员定义时指定的默认值或类的初始化模块到底执行那一个,要看哪一个在排在前面
2,:执行类的构造函数
3:类的初始化块不接受任何的参数,而且只要一创见类的对象,它们就会被执行。因此,适合于封装那些“对象创建时必须执行的代码”
(3)
执行结果:

静态初始化模块的执行顺序:
答:静态初始化块只能执行一次,创建子类对象时也导致父类型的静态初始化块也执行一次。
(3)静态方法中访问类的实例成员
例子:
public class ButtonFactory {
private static ButtonFactory _instance = null;
public static  ButtonFactory getInstance()
{
    if(null == _instance)
    _instance = new ButtonFactory();
    return _instance;
}
}
(4)Integer的诡异性

(5)
使用类的静态类和构造函数,我们可以跟踪某个类所创建的个数。请写一个类在任何时候都可以查询自己已经创建了多少对象
实例:

public class Objictnumber {

int number;

public Objictnumber()

{

++number;

System.out.println("目前创建了"+number+"个对象");


}

public static void main(String[]args)

{

@SuppressWarnings("unused")

Objictnumber obj=new Objictnumber();


}

}

 
 

												

最新文章

  1. [.Net] 手把手带你将自己打造的类库丢到 NuGet 上
  2. Windows常用技巧集锦
  3. PHP 如何读取一个1G的文件大小
  4. 【USACO】【section1.1】Your Ride Is Here
  5. 关于Cocoapods安装与问题
  6. 过程式编程 drawShapes
  7. JPA--多对多关系
  8. CSS文字样式
  9. (转)Sublime Text2 快捷键汇总
  10. C语言格式化输入输出
  11. python 读取文件read.csv报错 OSError: Initializing from file failed
  12. JavaSE_坚持读源码_HashMap对象_put_Java1.7
  13. 正则表达式re.sub替换不完整的问题现象及其根本原因
  14. HTML5文件API之FileReader
  15. 调用链系列三、基于zipkin调用链封装starter实现springmvc、dubbo、restTemplate等实现全链路跟踪
  16. 6 jmeter元件的作用域与执行顺序
  17. C/C++之static函数与普通函数
  18. Python 3 学习笔记(2)
  19. drupal7 formAPI给元素加css样式
  20. screen.height && screen.width

热门文章

  1. Docker版本与centos和ubuntu环境下docker安装介绍
  2. QRowTable表格控件(四)-效率优化之-优化数据源
  3. 009 Python基本图形绘制
  4. Java中存储金额用什么数据类型
  5. Appium+python自动化(三十七)- 士兵突击许三多 - 多个appium服务启动,多个设备启动,多进程并发启动设备-并发测试 - 下(超详解)
  6. 算法与数据结构基础 - 递归(Recursion)
  7. hbase 修复 hbase hbck
  8. Elastic Stack 笔记(九)Elasticsearch5.6 集群管理
  9. 15 (OC)* UIGesture
  10. 【iOS 】把一些不太重要的任务放在空时执行