1.类对象可能不被垃圾回收
2.垃圾回收不等于析构
3.垃圾回收只与内存有关:垃圾回收的唯一原因是回收程序不再使用内存
finalized()需求限制到一种特殊情况,即使通过某种创建对象方式以外的方式(本地方法)为对象分配存储空间
super()和this()不能显示共同存在
垃圾回收机制对提高对象的创建速度有明显的效果
java包使用原因
1包内防止重名
2分单元管理
3更广范围内的保护类、数据和方法
打包语句
必须放在类的第一行
如果一个类没有打包语句,则为默认包default,;表示语句结束,
swing 和 awt没有被淘汰原因向前兼容或者说向下兼容
因为以前有很多大项目用到这个包
cobol
40-50年
面窄不好转型
导包有两种方式
1 直接导(.*和.实际名称)性能一样
2.类权限命名
不同包内相同类名相同方法用类权限命名导入
Javabean 爪洼岛,咖啡豆
实现一个javabean的步骤
1.所有属性私有,私有属性只在employee类当中访问
2.step2给私有的属性提供注值器和取值器
setAge set后的第一个字母大写,是反射机制提供的
3最好给一个类一个默认的构造和重载构造
本地方法:引用非java代码,调用finalize()
单态模式
单例模式
这个类只能创建一个对象
相当于有一个仓库管理员拿着一把钥匙,多个取货商来取货,只有拿到钥匙才能取,其他人必须等待,就只有一个仓库管理员
public default protected,protected区别
其中private权限最小,所有声明的方法和成员都不能被访问,体现java中的封装性,public权限最大,所有的其他类或者包都不能访问
再谈default和protected区别(包内)
主要体现在加入父子之间的继承关系
defualt不可以被继承使用
protected可以被继承使用
共同点
不同包中的其他类不可以调用
同一个包内其他类可以调用
继承关系中,有一种语法是自动产生的,子类转换成父类,子类对象指向父类引用如果存在方法重写,则调用子类的重写方法,不存在方法重写,父类引用调用将不是子类的方法而是父类自己的方法,向上转换会损失子类拓展的所有方法,仅可以从父类继承方法