final 关键字的理解
final关键字主要用在三个地方:变量、方法、类。

  1. 对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。

  2. 当用final修饰一个类时,表明这个类不能被继承。final类中的所有成员方法都会被隐式地指定为final方法。

  3. 使用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的Java实现版本中,会将final方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升(现在的Java版本已经不需要使用final方法进行这些优化了)。类中所有的private方法都隐式地指定为final。

Object类的常见方法总结

Object类是一个特殊的类,是所有类的父类。它主要提供了以下11个方法:

public final native Class<?> getClass()//native方法,用于返回当前运行时对象的Class对象,使用了 final关键字修饰,故不允许子类重写。

public native int hashCode() //native方法,用于返回对象的哈希码,主要使用在哈希表中,比如JDK中的 HashMap。 public boolean equals(Object obj)//用于比较2个对象的内存地址是否相等,String类对该方法进行了重写用户 比较字符串的值是否相等。

protected native Object clone() throws CloneNotSupportedException//naitive方法,用于创建并返回 当前对象的一份拷贝。一般情况下,对于任何对象 x,表达式 x.clone() != x 为true,x.clone().getClass() == x.getClass() 为true。Object本身没有实现Cloneable接口,所以不重写clone方法并且进行调用的话会发生 CloneNotSupportedException异常。

public String toString()//返回类的名字@实例的哈希码的16进制的字符串。建议Object所有的子类都重写这个方法。

public final native void notify()//native方法,并且不能重写。唤醒一个在此对象监视器上等待的线程(监视 器相当于就是锁的概念)。如果有多个线程在等待只会任意唤醒一个。

public final native void notifyAll()//native方法,并且不能重写。跟notify一样,唯一的区别就是会唤醒 在此对象监视器上等待的所有线程,而不是一个线程。

public final native void wait(long timeout) throws InterruptedException//native方法,并且不能 重写。暂停线程的执行。注意:sleep方法没有释放锁,而wait方法释放了锁 。timeout是等待时间。

public final void wait(long timeout, int nanos) throws InterruptedException//多了nanos参数, 这个参数表示额外时间(以毫微秒为单位,范围是 0-999999)。 所以超时的时间还需要加上nanos毫秒。

public final void wait() throws InterruptedException//跟之前的2个wait方法一样,只不过该方法一直等待,没有超时时间这个概念protected void finalize() throws Throwable { }//实例被垃圾回收器回收的时候触发的操作。

扫码免费领取Java面试题

Java面试题:final和Object类常见的方法相关推荐

  1. JAVA进阶教学之(Object类的toString方法)

    1.toString public String toString() 返回对象的字符串表示形式.总的来说,这 toString方法返回一个字符串,"以文本方式表示"这个对象.其结 ...

  2. Java学习篇11——关于Object类的toString方法

    写在前面:本人是借助两本参考书自学的,其中部分例子和语句均是来自参考书.第一本:<Java 编程指南>,[美] Budi Kurniawan 著,闫斌 贺莲 译.第二本:<第一行代码 ...

  3. java面试题27 java中下面哪些是Object类的方法()

    java面试题27 java中下面哪些是Object类的方法() A notify() B notifyAll() C sleep() D wait() 蒙蔽树上蒙蔽果,蒙蔽树下你和我.遇到这种题,我 ...

  4. Java常见面试题—Object 类中的方法

    Object 类中的方法 Object() 默认构造方法 clone() 创建并返回此对象的一个副本. equals(Object obj) 指示某个其他对象是否与此对象"相等". ...

  5. 《Java 核心技术卷1 第10版》学习笔记------Object类的 equals 方法

    Object 简述 Object 类是 Java 中所有类的始祖, 在 Java 中每个类都是由它扩展而来的. 在 Java 中, 只有基本类型 ( primitive types) 不是对象, 例如 ...

  6. [ 转载 ] Java基础10--关于Object类下所有方法的简单解析

    关于Object类下所有方法的简单解析 类Object是类层次结构的根类,是每一个类的父类,所有的对象包括数组,String,Integer等包装类,所以了解Object是很有必要的,话不多说,我们直 ...

  7. Java基础Object类的equals方法

    关于Object类中的equals方法 1.equals方法的源代码 public boolean equals(Object obj) {return (this == obj);}以上这个方法是O ...

  8. Java重写object类的equals方法

    1.Object类的equals()方法: 比较两个对象是否是同一个对象,equals() 方法比较两个对象,是判断两个对象引用指向的是同一个对象,即比较 2 个对象的内存地址是否相等.是则返回tru ...

  9. java——API—— Object类——重写equals方法

    重写Object类的equals方法 如果希望进行对象的内容比较,即所有或指定的部分成员变量相同就判定两个对象相同,则可以覆盖重写equals方法. Object类的equals方法,默认比较的是两个 ...

最新文章

  1. Usage and Idioms——Categories
  2. 人工智能即将冲击与改变现有的医疗方式
  3. 转载一个关于JavaScript几种继承方法的总结
  4. eclipse 工程复制
  5. 一个仿沙漏效果的自定义view(贝瑟尔曲线实现)
  6. 三月苏州健康小贴士!!!健康生活从我做起
  7. html 文本框 初始化,Flutter 文本框初始化时显示默认值
  8. linux编写脚本的基本方法
  9. Eclipse安装中文简体语言包(官方下载安装教程)
  10. sublime text3 最新注册码
  11. Java、三角形类Triangle
  12. allure定制测试报告logo
  13. 笑脸检测笑脸识别微笑识别大笑识别
  14. cad打开卡死_在打开cad文件的时候会出现死机的状态
  15. 一个人写一个集群:基于GRPC的golang微服务框架iogo(grpc/protobuf/etcd/freetoo/码客 卢益贵)
  16. UE4 快捷键--引擎篇
  17. 流量并不仅仅只是存在于互联网时代,更重要的是一种模式
  18. vue 讯飞在线文字合成语音,文字转成语音
  19. 计算机桌面文件为何不能剪贴,告诉你电脑不能复制粘贴怎么办
  20. 游戏玩家的图形显示设置指南(10)(The Gamer's Graphics Display Settings Guide)

热门文章

  1. 不会框架不要紧,我带你自定义框架
  2. 44 The shopping psychology 购物心理
  3. CF1110G Tree-Tac-Toe 博弈论、构造
  4. 09-Python入门学习-函数基础与参数
  5. js进阶正则表达式10-分组-多行匹配-正则对象的属性(小括号作用:分组,将小括号里面的东西看成一个整体,因为量词只对前一个字符有效)(多行匹配:m)(属性使用:reg.global)...
  6. python学习笔记——守护进程
  7. ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(四) 添加表情、群聊功能...
  8. Django Model出现的中文问题
  9. 动态加载js文件 document.createElement
  10. python---之[::-1]