继承
1.extends关键字
2.在子类中使用super关键字调用父类修饰为public或者protected的成员方法等
3.重写(覆盖):在子类中将父类的成员方法的名称保留,重写成员方法的实现内容,更改成员方法的存储权限(从小范围向大范围修改),或者是修改成员方法的返回值类型(必须是父类中同一方法返回值类型的子类)
4.重构:子类与父类的成员方法只有方法实现内容不同,其余均相同
5.在实例化子类对象时,Java编译器会在子类的构造方法中自动调用父类的无参构造方法。
package day01;
class Parent{
Parent(){
System.out.println("调用父类的Parent()构造方法");
}
}
class SubParent extends Parent{
SubParent(){
System.out.println("调用子类的SubParent()构造方法");
}
}
public class Subroutine extends SubParent{
Subroutine(){
System.out.println("调用子类的Subroutine()构造方法");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Subroutine s = new Subroutine();
}
}
结果:
调用父类的Parent()构造方法
调用子类的SubParent()构造方法
调用子类的Subroutine()构造方法
6.父类的有参构造芳法并不能自动被调用,只能依赖于super关键字显示地调用父类的构造方法
7.自定义的类继承与Object类
8.任何类都可以重写Object类中的方法,当并不是可以重写任何方法
9.getClass()
返回对象执行时的Class实例,然后此实例调用getName()
方法可以取得类的名称getClass().getName()
10.toString()
将一个对象返回为字符串形式,实际应用中通常重写toString()
方法,为对象提供一个特定的输出模式,当这个类转换为字符串或者与字符串连接时,将自动调用重写的toString()方法
public class ObjectInstance{
public String toString(){
return "在" + getClass().getName() + "类中重写toString()方法";
}
public static void main(String args){
System.out.println(new ObjectInstance());
}
}
结果:在ObjectInstance类中重写toString()方法
当用户打印ObjectInstance类对象时,将自动调用toString()方法
11.equals()
:在自定义类中使用equals()方法比较时,将返回false,因为它默认是使用“==”比较两个对象的引用地址,所以如果要比较自定义类的对象时,需要重写equals()方法