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

原创 2007年10月10日 16:56:00

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

c++: 构造函数(constructor)与各种眼花缭乱的初始化(initialization)

本文是作为下一篇文章的前置。首发地址:http://blog.csdn.net/madongchunqiu/article/details/22325357 【注:灰色文字,不耐可略过。】 话说我...
  • madongchunqiu
  • madongchunqiu
  • 2014年03月28日 01:05
  • 11394

Thinking In Java笔记(第五章 初始化与清理(三))

第五章 初始化与清理5.6 成员初始化    Java尽力保证:所有变量在使用前都能得到恰当的初始化。对于方法的局部变量,Java以编译错误的形式来保证。如下:void f() { int i...
  • Jing_Unique_Da
  • Jing_Unique_Da
  • 2015年05月06日 09:09
  • 1295

Thinking In Java笔记(第五章 初始化与清理(二))

第五章 初始化与清理(二)5.5 清理:终结处理和垃圾回收    清理的工作常常被忽略,Java有垃圾回收器负责回收无用对象占据的内存资源。但也有特殊情况:假定对象(并非使用new)获得了一块”特殊”...
  • Jing_Unique_Da
  • Jing_Unique_Da
  • 2015年05月05日 12:16
  • 1543

Thinking in java 读书笔记(四、toString,class的初始化顺序)

一、 当编译器需要一个String,而只有对象的时候,自动调用toString方法 二、 子类的构造器类型数量一定是在父类构造器之内 三、 简易的代理 四、 final 五、 初始化...
  • nimahai_balabala
  • nimahai_balabala
  • 2017年11月15日 14:55
  • 69

forbids in-class initialization of non-const static member不能在类内初始化非const static成员

今天写程序,出现一个新错误,好吧,感觉每次编程都能遇到新问题,我期待久病成医的那一天,哈哈。 事故代码如下: class Employee { public: Employee() {myid ...
  • King_DJF
  • King_DJF
  • 2016年12月12日 14:46
  • 904

Thinking in Java 读书笔记-初始化与清理

构造器 在java中,类的设计者通过提供构造器确保每个对象得到初始化(特殊情况除外,可以将构造器写成private,这种情况一般出现在设计者不让开发者随意创建该类对象,如单例模式)。   构造器采用与...
  • feng_hen
  • feng_hen
  • 2013年11月22日 13:05
  • 424

Thinking In Java笔记(第五章 初始化与清理(三))

第五章 初始化与清理5.6 成员初始化    Java尽力保证:所有变量在使用前都能得到恰当的初始化。对于方法的局部变量,Java以编译错误的形式来保证。如下:void f() { int i...
  • Jing_Unique_Da
  • Jing_Unique_Da
  • 2015年05月06日 09:09
  • 1295

读thinking in java笔记(四):初始化

thinking in java 初始化
  • ZJDWHD
  • ZJDWHD
  • 2016年09月03日 17:52
  • 647

Thinking In Java 学习笔记 - 初始化与清理

为了保证正确的初始化与清理。Java提供构造器、垃圾回收器。 对象在创建时,系统会自动调用构造器,可以在构造器中完成初始化工作。对不再使用的内存资源,垃圾回收器会自动将其释放。 一、用构造器保...
  • Sky_0614
  • Sky_0614
  • 2013年03月27日 19:19
  • 674

#Thinking in Java阅读笔记# 第五章 初始化与清理

5.1 用构造器确保初始化构造器是一个特殊的函数,函数名与类名相同,且无返回类型。使用new关键字调用构造器可创建对象并初始化。构造器分为无参构造器和有参构造器5.2 方法重载方法拥有相同名字但不同的...
  • zhou373986278
  • zhou373986278
  • 2017年10月25日 18:14
  • 48
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:thinking in java 笔记--类的初始化 class initialization(2007.10.10)
举报原因:
原因补充:

(最多只允许输入30个字)