参考:《Java核心技术 卷I》
本文知识体系如下:
对象
对象是类的实例,以类为模板,调用类的构造器创建
对象的创建
一,对象的声明,实例化
对象声明由“类+构造器”组成,可分为两种情况:
1,无对象变量:如System.out.println(new Date());String s = new Date().toString();这两种情况下构造的对象只能使用一次。
2,有对象变量:Date birthday = new Date();可通过birthday多次使用Date对象
二,对象的初始化
无参构造器 类中没有任何构造器方法时自动添加一个无参构造器,该构造器所有实例域默认初始化。但是在编写构造器之后该 无参构造器会消失,此时调用它是不合法的
重载 在同一个类中,方法名相同,参数类型或参数个数不同,称为重载。在调用时编译器会进行匹配(重载解析),匹 配不到将会报错
默认域初始化与显式域初始化 在构造对象时没有显式地给域赋值,域会自动赋0,null,false值(局部变量不会自动赋值),称之为默认域初始化,但是极不提倡这样。一般在重载类的构造器方法后,通过各种方法给域赋上有意义的初值,称为显式域初始化,在构造对象时尽量这么做。
初始化块,静态初始化块 用大括号括起来,可放在类中任意位置,只要构造累的对象就一定会执行初始化块。在大括号前加static,表示静态初始化块,可对静态域进行初始化。
this(),super() 调用同类或父类的构造器,可在括号内标记参数指定调用哪个构造器
执行顺序 创建对象,所有域都会被默认初始化
执行构造器中this或super调用的构造器
执行构造器初始化语句
执行初始化块
对象的销毁
概念,只需了解GC(垃圾回收机制)
Java中垃圾收集器自动地定期扫描Java对象的动态内存,并将所有的引用对象加上标记,在对象运行结束后(无引用变量对该对象进行关联),清除其标记,并将所有无标记的对象作为垃圾进行回收,释放垃圾对象所占的内存空间。对象运行结束后或生命周期结束时,将成为垃圾对象,但并不意味着就立即会被回收,仅当垃圾收集器空闲或内存不足时,才会回收他们。
Java中每个对象都拥有一个finalize()方法:protected void finalize()throws Throwable{}垃圾回收器在回收对象时自动调用对象的finalize()方法来释放系统资源。
补充
参数名命名
尽量使用有意义的英文单词,提高代码的可阅读性,同时减少出错几率,不要使用a,mingzi等