第六章:访问权限的控制
- package和import关键字允许你做的,就是将单一的全局名字空间分割开,使得无论多少人使用Internet以及Java开始编写类,都不会出现名称冲突问题
- import static:静态导入,表示导入类里的静态方法
- 包访问权限 = friendly
- public,private,protected
- 类的访问权限只能是public或者包访问权限
第七章:复用类(组合,继承,代理)
- 可以为每个类都创建一个main方法,且只有命令行所调用的那个类的main方法会被调用
- super可以用来访问父类中同名的方法
- 初始化:可以想着肯定先有父亲才会有儿子
- 如果没有默认的无参基类构造器,就必须使用关键字super显示的调用基类构造器
- 如果Java的基类拥有某个已经被多次重载的方法名称,那么在导出类中重新定义该方法名称并不会屏蔽在基类中的任何版本(C++中会)
- @override注解表示对父类的方法的覆写
- “is-a”表继承,"has-a"表组合
- 继承的向上转型:新类是现有类的一种类型
- final关键字:
- final数据:数值恒定不变,引用被初始化指向一个对象则不能改为指向另一个对象,但是对象自身可以修改
- 定义常量:public static final int a = 10;public表示公有,static表示只有一份,final表示不可更改
- 可以生成“空白final”:一个类中的final域可以做到根据对象不同而有所不同,却又保持其恒定不变的特性,一般会在构造器中初始化
- 可以生成final参数
- final方法:确保在继承中使方法行为保持不变,且不会被覆盖;效率较高(一般会生成内联方法)
- 类中所有的private方法都隐形的指明为final的
- final类:表示类不允许被继承
- final类的所有方法隐士都被添加了final
- final数据:数值恒定不变,引用被初始化指向一个对象则不能改为指向另一个对象,但是对象自身可以修改
- 类的加载:用到时才会被加载