thinking in java 笔记--类的初始化 class initialization(2007.10.10)
来源:互联网 发布:用友协同软件公司地址 编辑:程序博客网 时间:2024/05/16 13:57
以下都是针对thinking in java 第三版的学习笔记.
java中类的初化应该分为三块:static 变量,非static变量,类的构造方法
1.java类的中的static 类变量的初始化,当触发类中的static 变量或者static 方法,及用Class.forName( className)的时候,就会按代码中的书写顺序初始化static 变量,类的顺序为从最顶端的父类,到你调用的那个类,如果是用new Child()的方法创建子类的对象的时候,(假设之前没有初始化static 变量 ),会按照由父类的 static到子类的static变量,然后初始化父类的field property(非static 变量), 父类的构造方法,初始化子类的 field property (非static 变量),子类的构造方法.变量的初始化总是在构造方法的前面,是按在程序中从上到下的书写顺序来的.
其实类的static property是应该和new 创建instance分开的,当类被加载的时候(上面说的三种情况中的一种),static property就被初始化了,
2.子类是必须要在构造方法中调用父类的构造方法的,如果你不指明,那么编译器会帮你调用,且是在最先的地方调用父类的默认构造方法(也就是没参数的那个),如果你的父类中没有默认的construtor ,而你又没有在子类中自己去调用父类的某一个带参数的construtor, 那么开发平台就要报错了,如果用Class.newInstance() 时,调用的是类的没有参数的构造方法,如果这个方法在类中没有,那么就会抛出异常.
3.其它.在Filter中,可以对request进行修改,setAttribute(),然后到后面的servlet或action中去取attribute.
- thinking in java 笔记--类的初始化 class initialization(2007.10.10)
- Thinking in java-1 Initialization 初始化
- Thinking in Java [Java编程机制] 学习笔记 -- 初始化顺序Order of initialization
- 【学习笔记】Thinking in java (第三版)第四章 初始化和清除(Initialization & Cleanup)
- Thinking in java 读书笔记(四、toString,class的初始化顺序)
- 《Thinking in Java》狗血的学习笔记-3初始化
- Thinking in Java笔记之初始化清理
- 读thinking in java笔记(四):初始化
- (Thinking in Java学习笔记)初始化
- Thinking in Java 笔记:Inner Class
- thinking in java 笔记--内部类的规则inner class rules(2007.10.12)
- Thinking in java-23 类的加载、链接和初始化
- thinking in java(III)--initialization and cleanup
- Thinking in Java 类加载与初始化
- Recursive class initialization in Java
- Thinking in Java笔记10
- java class and object initialization--java类和对象初始化
- java成员的初始化 --thinking in java学习笔记(三)
- 路由器中的内存分类
- div的定位 (2)
- 解决iframe中输入框自动完成错位的bug
- 先发一个
- 郁闷得勒。。。。
- thinking in java 笔记--类的初始化 class initialization(2007.10.10)
- PetShop 4.0的缓存处理
- jcreator 快捷键 总结
- 将程序由mysql迁移到Oracle实战(by quqi99)
- 魔兽世界盗贼开锁技能哪练_百度知道
- 职位:系统架构师(北京)
- Oracle dbms_random包的用法
- ADODB.Command ASP环境下应用方法
- div的定位(3)