java基础继承

时间:2023-03-09 05:49:30
java基础继承

为什么用继承: 因为继承可以减少代码的冗余,提高维护性,为了从根本上解决存在的问题,就需要继承,就是将多个类当中的相同的地方提取到一个父类当中。父类更通用,子类更具体。

 父类的继承格式
语法:public class 父类{ }
public class 子类 extends 父类{
}
继承关键字:extends 在java中类的继承是单一继承,就是说一个子类只能拥有一个父类

super关键字 

super的作用:

  • 调用父类的构造方法
  • 调用父类的方法
语法:
1. 子类不继承父类的构造方法,只是调用。如果父类的构造方法带有参数,必须要在子类的构造器中显示的通过super关键字调用父类的构造器,并配以相当的参数列表。super必须出现在子构造器方法的第一行。 语法:
public Circle(double radius,String color,boolean filled){
super(color,filled)//调用(父类)构造方法
this.radius = radius;
} 语法:super.getArea();
也可以调数据域,但不可以调private int age;私有的数据域 构造方法链的用法:首先会沿着继承链调用所有父类的构造方法。
 package 多态;

 public class Demo1 {

     public static void main(String [] args) {
Faculty fac = new Faculty();
}
}//构造方法链 class Faculty extends Employee{
public Faculty() {
System.out.println("这是我的第1个程序");
}
} class Employee extends Person{
public Employee() {
System.out.println("这是我的第2个程序");
System.out.println("这是我的第3个程序");
}
} class Person{
public Person() {
System.out.println("这是我的第4个程序");
}
}
 

覆盖和重载的区别
如果在新类中定义一个方法,其名称、返回值类型和参数列表正好与父类中的相同,那么,新方法被称做覆盖旧方法
被覆盖的方法在子类中只能通过super调用。
注意:覆盖不会删除父类中的方法,而是对子类的实例隐藏,暂时不使用。

对象类Object和它的toString()方法
java中每个类都来源于java.lang.Object类,如果一个类没有指定继承性,默认为Object
要熟悉Object提供的方法。
toString()方法会返回描述对象的字符串