继承

159 阅读2分钟

extends 用这个关键字可以让一个类,跟另一个类建立起父子关系

public class B extend A{

}

A类称为父类(基类或者超类) B类称为子类(派生类)

继承的特点

子类能继承父类的所有非私有成员(成员变量,成员方法)

继承后对象的创建

子类的对象是由父类,子类共同完成的

image.png

继承的好处

减少了重复代码的编写,提高了代码的复用性

指可以把多个子类重复的代码可以放到父类里面

image.png

  • 权限相关的注意事项
  1. 权限修饰符

pubilc private protected 缺省

权限修饰符就是用来限制类中的(成员变量,成员方法,构造器,代码块....)能够被访问的范围

image.png

  1. 继承

JAVA是单继承的,一个类只能继承一个父类,JAVA中的类不支持多继承,但是支持多层继承

image.png

3.方法重写

当子类觉得父类中的某个方法不好用的时候,或者无法满足自己的需求,子类可以重写一个方法名称,蚕食列表一样的方法,去覆盖父类的这个方法,这就也是方法重写。

注意:方法的重写后,方法的访问,Java会遵循就近原则。

image.png

其他注意事项!

重写小技巧:使用Override注解,他可以指定Java编译器,检查我们方法重写的格式是否正确,代码的可读性也会更好

子类重写父类的方法时,访问权限必须等于或者大于父类该方法的权限(pubilc>protectde>缺省)

重写方法的返回值类型,必须与被写方法的返回值类型一样,或者范围更小

private私有方法,静态方法不能被重写,如果重写的话会报错的

子类重写objeck类的to String()方法,以便返回对象的内容

image.png

  • 子类中访问其他成员的特点

1.在子类中访问其他成员(成员变量,成员方法),是按照就近原则的

image.png

super关键字直接访问父类的成员变量/父类成员方法

子类构造器的特点

子类的全部构造器,都会先调用父类的构造器,再执行自己

image.png