Java底层基础-Object底层源码分析

本文详细探讨了Java中Object类的基础知识,包括其作为所有类的超类、继承方式、native和final关键字的使用。重点分析了Object类的构造方法、常用成员方法如getClass()、hashCode()、equals()、clone()和toString(),以及finalize()方法的工作原理。同时,文章还涵盖了面试中常见的深拷贝与浅拷贝概念、==与equals的区别以及hashCode和equals方法的运用。最后,强调了覆盖equals时需同时覆盖hashCode的重要性,并提供了相关参考资料链接。
摘要由CSDN通过智能技术生成

一、Object概述

Object是java所有类中的超类,所有的类都继承object类,是java继承体系中真正的根节点;
Object是每个java类的基类,如果没有明确指出基类,Object就被认为是当前定义的类的基类;(Object 类可以显示继承,也可以隐式继承)

基类:在面向对象设计中,被定义为包含所有实体共性的class类型,被称为“基类”;
超类/父类:被继承的称为父类或者超类。基类父类超类其实是同种意思

所以对于Object中声明的方法,在我们所见到的类(包括我们自己写的)都具有这些方法,我们一般不会直接使用Object的对象,而是重写继承自Object类的方法;

二、Object源码分析

1. 继承方法

显示继承
	public class Student extends Object{
   
		// ......
	}
隐式继承
	public class Student{
   
		// ......
	}

2. native,final关键词介绍

  • native
    被native修饰的方法是用C/C++在动态库中实现的,然后通过JNI(java Native Inteface)调用。
    Java语言本身不能对操作系统底层进行访问与操作,但可以通过JNI接口来调用其他语言来实现对底层的访问,JNI已加入Java标准
  • final
    被final修饰的方法表示为最终类,不可修改不可被子类重写

3. 构造方法

Object类中没有显示的提供构造方法,由编译器默认提供的

4. 常用成员方法介绍

4.1 全部成员方法

线程相关的几个方法此处暂不进行介绍

	private static native void registerNatives();
    static {
   
    	   registerNatives();
    }
    
    public final native Class
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值