Java基础学习笔记—持续更新

138 阅读2分钟

一、Java基础学习笔记

1.1 面向对象

Java动态绑定机制

  1. 当调用对象方法的时候,该方法会和该对象的内存地址/运行类型绑定。
  2. 当调用对象属性时,没有动态绑定机制,哪里声明,哪里使用。

==方法

==是一个比较运算符

  1. ==: 既可以判断基本类型,又可以判断引用类型
  2. == : 如果判断基本类型,判断的是值是否相等。示例:int i = 10;double d = 10.0;
  3. == : 如果判断引用类型,判断的是地址是否相等,即判断是不是同一个对象。

equals方法

equals:是Object类中的方法,只能判断引用类型 默认判断的是地址是否相等,子类中往往重写该方法,用于判断内容是否相等,比如:integer,String

Object 类详解

to String方法基本介绍

默认返回:全类名+@+哈希值的十六进制

子类往往重写to String方法,用于返回对象的属性信息

//getClass().getName()  类的全类名(包名+类名)
//Integer.toHexString(hashCode()) 讲类的hashCode转为16进制字符串
/*public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}*/

重写to String方法,打印对象或拼接对象时,都会自动调用该对象的to String形式。

当直接输出一个对象时,to String方法会被默认的调用。

finalize方法

1.当对象被回收时,系统自动调用该对象的finalize方法。子类可以重写该方法,做一些释放资源的操作【演示】

2.什么时候被回收:当某个对象没有任何引用时,则Jvm就认为这个对象是一个垃圾对象,就会使用垃圾回收机制来销毁该对象,在销毁该对象前,会先调用finalize方法。

3.垃圾回收机制的调用,是由系统来决定(有自己的GC算法),也可以通过System.gc()主动触发垃圾回收机制。