java编程思想 第四版 第七章读书笔记

来源:互联网 发布:java后端工程师 编辑:程序博客网 时间:2024/06/06 21:01

第七章主要介绍对类的复用


1.结合使用组合和继承

(1)虽然编译器强制初始化基类,但是不强制初始化成员对象,所有在用组合的时候应该注意要自己初始化成员对象。
(2)可以使用try finally强制对内存进行回收清理,自己编写函数回收内存,此时回收顺序是由外向内,最后使用super.dispose()回收基类内存。(3)Java中导出类重载某个基类方法,它并不会屏蔽其在基类中的任何版本,也就是在参数列表类型符合的情况下,基类中的该方法依旧可用。(4)@override是覆写关键字,如果添加这个注解而错误的重载(没有覆写)该方法,那么编译器会报错。(5)覆写(override):函数名一样,返回值类型,参数列表类型都一样。子类函数的访问权限不能小于父类。(6)重载(overlode):函数名一样,参数列表不一样,返回值类型可以相同也可以不同。

2.final关键字

(1)final数据:对于基本类型,final使数值恒定不变。对于对象的引用,final使引用恒定不变,但是对象自身是可以修改的。注意,数组也是一种引用。带有恒定初值(即:编译期常量)的final static 基本类型全用大写命名,并且字与字之间用下划线隔开。必须在域的定义处或者构造器中用表达式对final进行赋值,这真是final域在使用前总是初始化的原因。(2)final参数:在函数参数列表中的final参数,在函数内无法修改它。(3)final方法:使用场景:把方法锁定,防止继承类修改,覆盖它;提高效率。(逐渐淘汰)(4)final类:使用场景:不可以作为基类被继承。

3.初始化及类的加载

类的代码在初次使用时才会被加载,通常是指加载发生在创建类的第一个对象之时,在访问static域或static方法时,也会发生加载。注意,只要加载包含static方法的类,static初始化就会执行。注意子类创建对象调用构造器时基类构造器也会被调用,此时基类会被加载,基类的static将会被初始化。基类staitic——> 子类static——> 对象中所有的基本类型都会被设为默认值,对象引用被设为Null——> 基类构造器——>子类构造器

0 0
原创粉丝点击