一、继承基础概念

(1)继承的定义:
当多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承这个类即可。
(2)多个类可以称为子类,单独这个类称为父类(超类或者基类)。
(3)语法格式:
class A extends B { }

(4)作用:
提高了代码的复用性。
让类与类之间产生了关系,为多态提供了前提。
(5)java只支持单继承,不支持多重继承。

但是java中可以多层继承:

class B extend A{};
class C extend B{};
class D extend C{};
二、继承中成员变量

(1)下面代码的意思是:(在子类和父类有相同名称的属性(变量)时)子类继承父类,实例化子类对象后,通过子类对象访问父类的属性。

class Fu{
	int age=45;
}

class Zi extends Fu{
	int age=18;
	void show(){
		System.out.println(super.age);//引入super关键字,相当于this关键字.
	}
}

class ExtendsDemo1{
	public static void main(String[] args){
		Zi zi =new Zi();
		zi.show();
	}
}



三、继承中成员函数

子类继承父类之后,通过子类调用某方法时,如果该方法在子类对象中,就使用该方法,如果子类中没有,再去父类中查找。如果方法在子夫类中都有,那么,就出现了方法的重写。

方法的重写(覆盖):

  • 定义:子类中出现和父类一模一样的方法时,会出现覆盖操作,也称为重写或覆盖。
  • 重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值;类型。
  • 覆盖时,子类方法权限一定要大于等于父类方法权限。
  • 静态只能覆盖静态。
  • 父类中的私有方法不可以被覆盖。

方法重载与方法重写的区别?
方法的重载:发生在一个类当中。
定义:方法名相同,参数个数或者参数类型不同,与方法的返回值无关。
方法的重写:发生在子夫类当中;
定义:发生在子父类当中,方法名、参数个数与类型、返回值都相同。