Object
Object是Java中的顶级父类.所有的类都直接或间接的继承Object类.
Object类中的方法可以被所有子类访问,所以我们要学习Object类和其中的方法.
Object的构造方法:
Object的成员方法
public class test {
public static void main(String[] args) {
//1.toString 返回对象的字符串表示形式
Object obj = new Object();
String str1 = obj.toString();
System.out.println(str1);
//System是java里面的一个类名
//out是一个静态变量PrintStream类型
//System.out:获取打印的对象
//println():方法
//参数:表示打印的内容
//核心逻辑:
//当我们打印一个对象的时候,底层会调用对象的toString方法,把对象变成字符串
//然后再打印在控制台上,打印完毕换行处理.
//思考:默认情况下,因为Object类中的tostring方法返回的是地址值
//所以默认情况下,打印一个对象打印的就是地址值
//但是地址值对于我们是没有什么意义的
//我想要看到对象内部的属性值
//处理方案:重写父类Object中的toString()方法
//toString方法的结论:
//如果我们打印一个对象,想要看到属性值的话,那么就重写toString方法就可以了.
//在重写的方法中,把对象的属性值进行拼接.
}
}
public class test {
public static void main(String[] args) {
Student s1 = new Student();
Student s2 = new Student();
boolean result1 = s1.equals(s2);
System.out.println(result1);//false 因为Obejct的源码是比较地址值 所以需要重写
}
}
equal结论:
1.如果没有重写equals方法,那么默认使用Object中的方法进行比较,比较的是地址值是否相等
2.一般来说地址值对我们意义不大,所以我们会重写,重写之后比较的就是对象内部的属性值了
只能被本包或者其他包的子类所应用Object是定义在Java.lang包下的,我们不能把代码写的lang包下,所以我们只能自己重写
但是以后如果我们要对对象进行深克隆的话我们会用到第三方工具
1.第三方写的代码导入到项目中
先创建一个lib包然后