1、什么是继承
继承就是子类继承父类的特征和行为,使得子类对象具有父类的属性和方法
2、继承有什么用
通过继承可以快速创建新的类,实现代码的复用,提高程序的可维护性,节省大量创建新类的时间,提高开发效率和开发质量。
3、怎么继承
当几个对象拥有相同的特征或者行为时,我们就可以考虑使用继承。
使用extends关键字
public class B extends A{
}
1.B类继承A类,则称A类为超类(superclass)、父类、基类,B类则称为子类(subclass)、派生类、扩展类。
2.java 中的继承只支持单继承,不支持多继承。
3.虽然java中不支持多继承,但有的时候会产生间接继承的效果,例如: class Cextends B,class B extends A,也就是说,C直接继承B,其实C还间接继承A。
4.java中规定,子类继承父类,除构造方法和被private修饰的数据不能继承外,剩下都可以继承。
package day721;
/**
* author:sww
* date:2022/7/21 8:57
* 案例:
*/
public class Person {
private String name;
private int age;
public Person() {
System.out.println("f");
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void eat(){
System.out.println("吃饭");
}
public void sleep(){
System.out.println("睡觉");
}
}
package day721;
/**
* author:sww
* date:2022/7/21 8:59
* 案例:
*/
public class Student extends Person{
private String name;
private int age;
public Student() {
System.out.println("z");
System.out.println(getAge());
}
}
package day721;
/**
* author:sww
* date:2022/7/21 8:59
* 案例:
*/
public class Teacher extends Person{
private double money;
public void jiaoshu(){
}
}
当在子类想使用父类的属性和方法时,可以使用super关键字
public void jiaoshu(){
super.eat();
}
5、方法重写
当子类继承父类,子类想拓展父类的方法时,可以使用方法重写
在java中方法的重写是建立在java类的三大特性之一:继承性的基础之上的,没有继承性也就不能谈方法的重写。方法的重写是当程序中父类的某一个方法并不能满足子类的需求时,子类可以重新定义该方法的内容与功能来满足子类的需求的一种操作。
1.子类重写的方法必须和父类重写的方法具有相同的方法名称、参数列表
2.子类重写的方法访问权限不能小于父类被重写的方法的权限;子类不能重写父类中声明的private 权限的方法
3、被final修饰的方法不能被重写
package Super;
public class test01 {
public static void main(String[] args) {
Cat c = new Cat();
c.yiDong();
}
}
class Animal{
public void move(){
System.out.println("animal move");
}
}
class Cat{
//对move进行重写
public void move(){
System.out.println("cat move");
}
public void yiDong(){
this.move();
move();
}
}