1、object类
object作为所有类的超类,无论是四类八种的基本类型还是引用类型或者是自定义类型都需要extends Object
需要注意的几个方法,
(1)、finalize:protected void finalize() throws Throwable:当垃圾回收器确定不存在对该对象的更过引用时,由对象的垃圾回收器调用会此方法,但是什么时候调用垃圾回收器不确定。在System类中的一个方法: public void gc()垃圾回收器最终调用的就是这个方法。
(2)、clone: Object类中的clone方法执行特定的复制操作,首先如果对象不能实现接口Cloneable,则会抛出 CloneNotSupportedException。
(3)、toString:在平时编程中,发现System.out.println(oo)的输出与Systeml.out.println(oo.toString)输出结果一样, 这是因为System.out.println方法在打印引用时若引用不为空,则首先调用指向对象的toString方法获取字符串,然后打印字符串的内容,当然如果没有重写toString方法,就按Object类实现获取字符串,打印出来的内容就是this.getClass.getName + @ + Integer.toHexString(this.hashCode),一般就比较难理解,所以建议当自定义类时,最好重写toString方法,这样也就可以显示成员变量的值。
(4)、equals:方法的重要意义
在一般初学者眼里,觉得自己能够辨识”equals“方法和”==“就很流弊了,前者比较其实例的值,后者比较实例的地址。很对,但是如果你不深入理解源码去看的话,很容易掉入各大公司的陷阱里面。其实equals的底层实现依然是”==“
2、Scanner类
(1)、类的功能: 该类的主要作用就是建立一个文本扫描器(键盘录入),存在于java.util包下。在键盘的录入过程中,Scanner sc = new Scammer(System.in),
public static final OutputStream out: 标准输出流
(2)、判断功能:在录入数据之前添加逻辑判断,hasNextXXX(),判断是否由下一个可以录入的XXX类型的数据。nextXXX(),通过录入来获取这个int类型的数据,如果输入数据与判断数据不一致,则会抛出java.util.InputMismatchException(输入和想得到的数据不一致)
(3)、注意事项:先录入int类型的数据再录入String类型的数据,String没有接收到,直接输出结果了,这是由于“回车”导致的,一回车。直接输出结果。
解决方案有二:其一,使用next()方法,其二,再创建一个键盘输入对象录入String类型。