thinking in java 笔记--类的初始化 class initialization(2007.10.10)

以下都是针对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. 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值