API

com.demo.objTest.Student:包名+类名 :类的全限定名。代表类在项目中的绝对位置。
API:指一套接口规范,所谓学习API就是学习一些常见的内置类。
Object:是类层次结构的根类。所有的类都直接或间接的继承Object,所有对象(包括数组)都可以使用该类的方法。
构造方法:
  public Object(){

  } 
1.boolean | equals(Object obj):
  判断参数对象是否与当前对象内容相同。
源码:
  public boolean equals(Object obj) {
    return (this == obj);
  }
equals方法原意比较两个对象内容是否相同,但是Object中源码是返回两个对象的地址是否相同,不满足需求。使用该方法通常需要重写。
2.int | hashCode():
获得该对象的哈希码值。
源码:
  public native int hashCode();

hashCode方法是获得该对象的哈希码值,但是源码中是根据该对象在本地的内存地址计算出来的,所以结果不固定,没有规律。之后学习的容器需要使用对象的哈希码值来判断内容是否相同的第一道门槛。所以需要重写hashCode方法,需要满足:
  1>对象的内容相同,哈希码值一定相同。
  2>哈希码值相同,对象的内容不一定相同。
  3>哈希码值不同,对象的内容一定不同。

3.String | toString():获得该对象的字符串的表现形式。
打印一个对象,相当于调用他的toString()方法
源码:
  public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
  }
有的时候为了方便了解该对象的属性与属性值,通常重写toString方法。

4.Class | getClass():
获得当前对象的运行时类。Class是一个描述类的类。Class实例代表运行时的接口或类。
String | getName():获得类的全限定名。

------------------------------------------------------------------------

final、finally和finalize的区别:
final:

  final可以修饰类、方法和变量。
  final修饰的类不可以被继承,
  final修饰的方法不可以被重写,
  final修饰的变量不可以被更改,为常量,必须初始化。
finally:是try-catch-finally中的一个代码块,无论try中是否抛出异常,catch是否捕捉并处理,finally中的内容始终会被执行,通常用于关闭资源。
finalize:Object中的一个方法。在垃圾回收器回收某对象时,调用该方法强制关闭该对象所占用的资源。

------------------------------------------------------------------------

posted on 2019-04-16 22:27  weixg_p  阅读(142)  评论(0编辑  收藏  举报