java学习杂记
2010-11-11 20:28
232 查看
变量的作用域{}
{int temp=3;{int temp=2;} }
会得到一个编译错误
int 类型不能被转换为boolean
java 允许将任何主类型转换为基它主类型,但是boolean类型除外
对比int小的类型char shot byte 进行算术运算都会先转成int类型
我们发现编译器不让我们从除了一个构建器之外的其他任何方法调用this(arg...)内部构建器
静态变量的初始化时机:只有在创建了第一个类对象之后(或者发生了第一次对类的static 访问),
(1) 类型为Dog 的一个对象首次创建时,或者Dog 类的static 方法/static 字段首次访问时,Java 解释器
必须找到Dog.class(在事先设好的类路径里搜索)。
(2) 找到Dog.class 后(它会创建一个Class 对象,这将在后面学到),它的所有static 初始化模块都会运
行。因此,static 初始化仅发生一次——在Class 对象首次载入的时候。
(3) 创建一个new Dog()时,Dog 对象的构建进程首先会在内存堆(Heap)里为一个Dog 对象分配足够多的存
储空间。
(4) 这种存储空间会清为零,将Dog 中的所有基本类型设为它们的默认值(零用于数字,以及boolean 和
char 的等价设定)。
(5) 进行字段定义时发生的所有初始化都会执行。
(6) 执行构建器。正如第6 章将要讲到的那样,这实际可能要求进行相当多的操作,特别是在涉及继承的时
候。
Java 允许我们将其他static 初始化工作划分到类内一个特殊的“static 构建从句”(有时也叫作“静态
块”)里。它看起来象下面这个样子:
class Spoon {
static int i;
static {
i = 47;
}
// . . .
尽管看起来象个方法,但它实际只是一个static 关键字,后面跟随一个方法主体。与其他static 初始化一
样,这段代码仅执行一次——首次生成那个类的一个对象时,或者首次访问属于那个类的一个static 成员时
(即便从未生成过那个类的对象)
这个特性个人觉得和c#的静态构造器有几分相似之处
{int temp=3;{int temp=2;} }
会得到一个编译错误
int 类型不能被转换为boolean
java 允许将任何主类型转换为基它主类型,但是boolean类型除外
对比int小的类型char shot byte 进行算术运算都会先转成int类型
我们发现编译器不让我们从除了一个构建器之外的其他任何方法调用this(arg...)内部构建器
静态变量的初始化时机:只有在创建了第一个类对象之后(或者发生了第一次对类的static 访问),
(1) 类型为Dog 的一个对象首次创建时,或者Dog 类的static 方法/static 字段首次访问时,Java 解释器
必须找到Dog.class(在事先设好的类路径里搜索)。
(2) 找到Dog.class 后(它会创建一个Class 对象,这将在后面学到),它的所有static 初始化模块都会运
行。因此,static 初始化仅发生一次——在Class 对象首次载入的时候。
(3) 创建一个new Dog()时,Dog 对象的构建进程首先会在内存堆(Heap)里为一个Dog 对象分配足够多的存
储空间。
(4) 这种存储空间会清为零,将Dog 中的所有基本类型设为它们的默认值(零用于数字,以及boolean 和
char 的等价设定)。
(5) 进行字段定义时发生的所有初始化都会执行。
(6) 执行构建器。正如第6 章将要讲到的那样,这实际可能要求进行相当多的操作,特别是在涉及继承的时
候。
Java 允许我们将其他static 初始化工作划分到类内一个特殊的“static 构建从句”(有时也叫作“静态
块”)里。它看起来象下面这个样子:
class Spoon {
static int i;
static {
i = 47;
}
// . . .
尽管看起来象个方法,但它实际只是一个static 关键字,后面跟随一个方法主体。与其他static 初始化一
样,这段代码仅执行一次——首次生成那个类的一个对象时,或者首次访问属于那个类的一个static 成员时
(即便从未生成过那个类的对象)
这个特性个人觉得和c#的静态构造器有几分相似之处
相关文章推荐
- java 学习杂记
- Core Java 8 学习笔记(五) 杂记
- java web 学习杂记
- java学习杂记
- java学习杂记
- 【JavaWeb_struts2学习杂记】struts2的使用配置
- java学习杂记
- Java学习杂记——去重
- java杂记
- 【幻化万千戏红尘】qianfengDay15-java基础学习:List,ArrayList,LinkedList,comparable,comparator
- java学习笔记3
- 深入Java集合学习系列:ConcurrentHashMap之实现细节
- Java国际化学习总结
- java IO流学习总结
- java-web-j2e学习建议路线
- java学习笔记08--泛型
- 深入Java集合学习系列:ArrayBlockingQueue及其实现原理
- Java IO流学习总结七:Commons IO 2.5-FileUtils
- JAVA学习(三)
- Java学习笔记之继承与初始化