首页 > Linux操作系统 > Linux操作系统 > JAVA 编程复习总结笔记四
1 继承中构造方法的规则
1) 子类的构造的过程中必须调用其基类的构造方法,即构造子类的时候必须先构造好基类(没有父亲的存在哪有儿子的存在)
2) 子类可以在自己的构造方法中使用super(argment_list)调用基类的构造方法. 如果调用super,必须写在子类构造方法的第一行
3) 如果子类没有显示的调用基类构造方法,系统默认调用基类默认的构造方法(此时,如果基类构造方法重载,这时没有写无参数的构造方法,编译器没有默认构造方法,则出错)
2 Object类
1) Java.lang 中的类,是所有java类的根基类
2) 类的声明中未使用extends关键字指明其基类,则默认为从objects继承
3) finalize():类似C++的析构函数,在java中垃圾回收器帮忙自动调用这个方法。
clone():
getClass(): 与反射有关,返回一个对象运行时的类
toString():
1) object类中定义有 public String toString (),其返回值是String类型,描述当前对象的有关信息。
2) 在进行String与其它类型数据的连接操作时(如:System.out.println(“info”+Persion)), 将自动调用该对象类的toString()方法
3) 可以根据需要在用户自定义类型中重写public String toString () 方法。
system.out.println(b);(b是一个new出的对象)
4) 重写要copy! 如果重写成public String ToString(),编译没问题,但运行不行。
equals(): 加“s”第三人称。
1) system.out.println(C1 == C2) 结果为false
system.out.println(C1.equals(C2));结果为false. 这是最原始的equals方法,所以结果换汤不换药,和上面的一样。
因为比较的两个猫的引用,内存地址不等,永远不等。
2) 所以需要重写equals()方法:
public boolean equals(Object obj){
if(obj instanceof Cat){ // 如果obj属于一只猫
Cat c = (Cat) obj; //强制转换object为一只猫
……………….
}
}
3) object类中的string类 data类等都已经重写了equals方法。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23155850/viewspace-662818/ ,如需转载,请注明出处,否则将追究法律责任。