java.lang 包是Java 基础语言包(其中lang 是language 的简写),该包中包含Java语言所需要的基本的功能类和接口等信息,是进行Java 语言编程的基础。由于在进行Java 语言编程时,该包的使用特别频繁,所以在Java 语言中,该包是被默认引入的。下面就介绍一下该包中常见类的功能以及相关使用。
在Java 类层次结构中,有个特殊的类:java.lang.Object 类。Object 类是Java语言的灵魂,因为所有的类都是该类的子类。即使不显式继承,系统也会自动继承自该类,所以Object 是整个Java 语言继承树的唯一一个根,这就是Java 语言特色的单根继承体系,包括数组也实现了该类中的方法。
Object 类是Java 语言中所有类的父类(也被称为根类),它实现的成员方法将被所有派生的类继承。所以Object 类中的方法将出现在每个类的内部,我们应该熟悉该类中的常见方法的使用。常用的方法及操作功能见表5.3。
表5.3 Object 类常用的方法
equals()方法是Object 类的一个方法,所有继承自Object 类的类都会继承此方法,并且可以重载这个方法来实现各自的比较操作,而且JDK 也正是推荐这种做法。所以开发人员可以在自己的类中实现equals()方法来完成自己特定的比较功能,所以各个类的equals()方法与==之间并没有绝对的关系,这要根据各自类中自己的实现情况来看。也就是说可能会有两种情况发生:equals()方法和==相同或者不相同。在多数情况下这两者的区别在于究竟是对对象的引用进行比较,还是对对象的值进行比较。那么==操作符是比较的什么呢?==操作符是比较的对象的引用而不是对象的值。并且由下面的源代码可以看出在最初的Object 对象中的equals()方法是与==操作符完成功能是相同的,如例5.2 所示。
例5.2:测试equals()方法与==的使用。
以上程序运行结果如下:(www.daowen.com)
创建一个Object 对象和Object 子类对象,并调用各对象中的方法,如例5.3 所示。
例5.3:
以上程序运行结果如下:
上面的例子中,ObjectDemo 类继承了Object 类,通过ObjectDemo 类创建的对象objd继承了Object 类的所有方法。通过obj 或objd 对象都可以对Object 类中定义的方法进行调用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。