第五章 初始化(think in java 笔记)
类的数据成员在未被初始化时会保证被赋予默认值
boolean false
char []
byte 0
short 0
int 0
long 0
float 0.0
double 0.0
reference null
1.指定初始化。在定义类成员变量的地方为其赋值,可以通过调用某个方法来提供初始值
但这样有个限制就是类的对象都会具有相同的初值。
2.构造器初始化。可以避免指定初始化的缺陷,灵活,不同对象具有各自的初始值,但是
自动初始化无法阻止,他将在构造器调用之前发生。
初始化的顺序与变量定义的先后顺序有关,静态数据只占一份存储区域,static只能用于
域,不能用于局部变量。域也具有默认值。
对象的创建过程(以创建dog为例)
1.JAVA解释器查找类路径,定位dog.class文件。
2.加载dog.class,执行静态初始化,静态初始化只在Class对象首次加载时进行一次
3.当new dog()创建对象是,在堆上为dog对象分配存储空间。
4.将对象的存储空间清零,这样dog对象的所有基本类型数据都设置成为默认值。
5.执行字段定义处的初始化动作。
6.执行构造器。
相关文档:
不久前用到了同步,现在回过头来对JAVA中的同步做个总结,以对前段时间工作的总结和自我技术的条理话。JAVA中synchronized关键字能够作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。假如再细的分类,synchronized可作用于instance变量、object reference(对象引用)、static函数和class li ......
首先要说的是,Hibernate中ORM里对应的映射文件BEAN,必须实现序列化.因为BEAN里的数据需要存入数据库(要转化为二进制保存),进行存取工作.
JAVA类的数据 ,如果要进行相关的存储工作(如写文件,网络传输,写数据库等),那么这个数据的类 就必须实现序列化接口 (java.io.Serializab ......
serialVersionUID 用来表明类的不同版本间的兼容性
简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列 ......
JAVA 中URL链接中文参数乱码的若干处理方法,现在整理收录如下:
方法一:
http://xxx.do?ptname='我是中国人'
String strPtname = request.getParameter("ptname");
strPtname = new String(strPtname.getBytes("ISO-8859-1"), "UTF-8");
方法二:
<%@ page contentTy ......
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行 ......