一、Object类型:
是所有引用类型的父类,在引用类型的顶端。 它的引用变量可以指向任何类型的一个对象
Object obj = "aaaa";
obj = new int[3];
obj = new Scanner(System.in);
!!怎么使用数组存一些类型不同的数据 ,方法:用Object定义一个数组
Object[] arr = new Object[3];
arr[0] = "aaa";
arr[1] = new int[3];
arr[2] = new Scanner(System.in);
Object类型中的常用方法:
1:toString():
1)在Object类型中,方法的返回为"类全名@散列码"
2)在自定义类型时,如果不手写继承Object,系统会默认提供继承Object 的toString()方法就会被继承。
3) 继承后的方法返回的字符串没有意义。我们应该重写toString():用来描述new出来的对象的信息。
4)重写toString():默认规则如下:
"类全名[属性名=属性值,属性名=属性值]"
5) toString():当想输出显示对象信息时,会默认调用这个方法
2:equals():
在Object类型中,equals()相当于==,比较的是地址,是不是同一个对象。
在大多数情况下,我们不比较是不是同一个对象,而应该比较 这两个对象的内容是否一样。
自定义的类继承过来的方法就不满足要求了。所以,应该重写equals()
总结:
String类对equals方法进行了重写,用来比较指向的字符串对象所存储的字符串是否相等。
其他的一些类诸如Double,Date,Integer等,都对equals方法进行了重写用来比较指向的对
象所存储的内容是否相等。
1)对于==,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;
如果作用于引用类型的变量,则比较的是所指向的对象的地址
2)对于equals方法,注意:equals方法不能作用于基本数据类型的变量
如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;
诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。