这篇博客主要是总结一个java中Object类的相关用法以及其中的常用函数。
1.Object类
每个类都使用Object做为超类。
所有对象(包括数组)都实现这个类的方法。
所有类都是Object类的子类。不显示的继承一个类的话,默认就继承Object类
2.toString()
public String toString()
返回该对象的字符串表示
通常,toString()方法会返回一个“以文本方式,表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
这个方法就是当直接将对象作为print()函数的参数时候,会被自动调用。
如果不重写的话,会返回一个“以文本方式,表示”此对象的字符串。
但是这种信息对我们来说并没有什么用处,所以我们将其重写,来打印我们要输出的东西。
public class ObjectDemo {
public static void main(String args[])
{
Baboon bb = new Baboon("小白",7,'公');
//打印的是对象的内存地址,默认调用的是toString()方法
System.out.println(bb);
}
}
class Baboon{
private String name;
private int age;
private char sex;
public Baboon(String name,int age,char sex)
{
this.name=name;
this.age=age;
this.sex=sex;
}
//重写toString()方法
@Override
public String toString() {
return "name="+name+",age="+age+",sex="+sex;
}
}
3.equals()方法
public boolean equals(Object obj)
指示其他某个对象是否与此对象“相等”
equals方法在非空对象引用上实现相等关系
“==比较的是内存地址的引用是否相等
(注意this关键字的使用,this表示调用该方法
的当前对象)
字符串的equals方法与对象的equals方法是不同的,字符串的equals是比较两个字符串的大小是否相等,即一个一个字符比较ASCII码而对象的equals方法,是比较的两个对象的引用,比较的两个对象的内存地址。
public class equalsKeyWordDemo {
public static void main(String args[])
{
Apple apple=new Apple();
Apple apple1=new Apple();
Apple apple2=null;
apple2=apple1;
String a="nihao";
String b="nihao";
if (a.equals(b))
{
System.out.print("这两个字符串相等");
}
else{
System.out.print("这两个字符串不相等");
}
//直接将apple1赋值给apple2,及将apple2的引用指向
//apple1,则结果必然为真
if(apple2.equals(apple1))
{
System.out.print("这两个对象相等");
}
else {
System.out.print("这两个对象不相等");
}
}
}
class Apple
{
}