1.继承的基本概念



父类中某一个属性是私有的,通过子类对象就不能访问父类的私有变量。
继承完之后拥有父类全部的东西,但是可以根据实际情况进行重写。

一般所有的类都是继承Object的,实现所有他的方法

像这样是重写了Object类的tostring方法,如果不重写,输出的会是一串带@的字符串。
2.子类对象的构造
当一个类A继承另一个类B时,当通过new来创建A类时,会首先创建一个父类,然后再创建子类,即为现有父类后有子类。

super是系统创建的写在这里只是提醒,心中要明白。

注意:
当继承完毕后,如果父类有对应的属性a,而在子类中又重新定义有a,那么这是两个不同的变量,并且都会在内存中保存,如果要引用父类的变量那么用super.a来引用。
一个类中默认会有一个构造方法的,而且默认继承自Object类,一个类继承父类,什么都不写也是有默认继承和默认构造方法的,这时候如果在子类中要调用父类的构造方法,要注意父类有没有重写,如果父类重写了,那么子类调用是也要匹配。


这时候子类就报错了super调用父类,没有参数,必须改正要么在父类中增加无参构造方法,要么改调用如下


和this调用一样,super都要放在第一句,构造子类之前必须先构建父类。
3.类中常见的关键字

判断某个对象是否是某个类,这里是运算符,如果一个对象是某个类的实例,那么他也是类的所有父类的一个具体实例。


两小的小指的是类的包含关系,谁大谁包含其他。

子类重写会覆盖父类,要想调用父类必须加super限定属性和方法。
![[附源码]计算机毕业设计Python共享汽车系统(程序+源码+LW文档)](https://img-blog.csdnimg.cn/af3acca7393f49dfaf58f12d5fbc68cd.png)

![[附源码]Nodejs计算机毕业设计久宠宠物店管理系统Express(程序+LW)](https://img-blog.csdnimg.cn/9ed1301834dc401f8c07b159b6d82b46.png)







![[Linux]线程概念_线程控制(线程与进程的区别与联系 | 线程创建 | 线程等待 | 线程终止 | 线程分离 | LWP)](https://img-blog.csdnimg.cn/16d5aafb3844436e88a1785fefd5c34d.png)








![[附源码]计算机毕业设计Python港口集团仓库管理系统(程序+源码+LW文档)](https://img-blog.csdnimg.cn/397bba2b734749429d2d013b5620df91.png)