JAVA基础——Object类和Class类

来源:互联网 发布:java项目转成maven项目 编辑:程序博客网 时间:2024/05/16 15:32

什么是Object类

Object类是所有类根类,其中也有很多方法。

Object类中的方法:

equals方法:

对象1.equals(对象2) ————比较的是两个对象的内存地址是否相同,返回boolean

发现其实equals方法有时候并不是我们想要的,我们想要的可能是比较两个不同对象之间的数据是否相同。
因此我们可以对equals在子类中进行重载,如下

class Num{int num;Num(int num){this.num=num;}public boolean equals(Object obj) //这里是个多态特性,向上转型{if(obj instanceof Num){Num x=(Num)obj;//要和Num类内数据比较要强转成Num类,向下转型return this.num==x.num;}else return false;}}class  ObjectDemo{public static void main(String[] args) {Num n1=new Num(4);Num n2=new Num(6);System.out.println(n1.equals(n2));}}

toString方法:

对象.toString()————返回对象的所属类@地址哈希值

同样如果想让toString方法是我们想要的一些方法,也可以进行重载

以上仅仅是Object类中的一些方法而已。更多的参阅API


getClass方法:

对象.getClass()————返回是Class类型的对象。表示这个对象的所属类,如n1的所属类是Num;

这里的Class类是一种新的类,具体见下文。

Class类:

在Java中,当我们编写一个类,编译完成后,会生成.class文件,而这些class文件也同样有共性(如他们都有名称,都有方法等等),我们把它抽取出来定义一个叫Class类。

其中Class类中有一个方法叫做getName().顾名思义返回对象的名称,具体用法见下:

首先为了调用这个Class类中的方法,必然要建立Class类的对象,通过Object的getClass方法可以与我们自己建立的类联系起来:

   Num n1=new Num(4);Class c=n1.getClass();System.out.println(c.getName());//返回的是Num






1 0
原创粉丝点击