封装、继承的相关知识点


封装:

封装是面向对象的三大特征之一,它指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象的内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。
例如下图:
就是不安全的,因为他没有任何限制,直接可以赋值,没有任何外部限制!
在这里插入图片描述
封装中加入getter和setter方法来实现被封装的调用!!如下图:


在这里插入图片描述在这里插入图片描述
在这里插入图片描述


继承:

我们在编写了多个类后,难免会出现这么一种情况,在定义同类型的类时,例如:学生类,员工类等等。类中的变量,方法有的是重复性的。如果只是一两个类,我们重复写没有问题,那我们写一些新的类时,都要把这些方法和变量写再一遍,很显然,这样写起来比较麻烦,那我们考虑一下要如何把代码改进一下呢?
我们可以把这些类中的相同内容给提取到一个类中定义。然后,让这多个类与这个独立的类产生一个关系,有了这个关系后,这多个类就可以具备这个独立类的特性以及功能,那现在我们就把继承这个概念引入一下,也是我们学到的面向对象三大特征的接触到的第二个特征。
这样,多个类的相同属性和方法我们提取到一个单独的类中,那么多个类就可以不用定义这些属性和方法,只要继承这个类就可以了。

注意构造方法不属于成员方法所以不能被子类继承
在这里插入图片描述
在这里插入图片描述子类用于扩展父类!!如果父类里面有这种方法,而你不想用,那么可以在子类中重写!下图这一块就是重写的。
@Override是一个注解,注释作用;给程序员和JVM看的。
*
在这里插入图片描述
super()方法的使用:
在这里插入图片描述
详情是下图这个地方:
在这里插入图片描述name是“小局局”在showMyself()这个类里面。this.name是“咪咪”在Cat()这个类里面,super.name()是“小萌宠”因为是Animal中的name.


this和super的区别:
在这里插入图片描述



在这里插入图片描述
在这里插入图片描述 在这里插入图片描述此块程序表示创建一个对象时,如果这个对象继承了父类;那么不仅调用自己的构造方法,也会调用父类的构造方法。并且时先执行父类的构造方法,再执行创建的这个对象的构造方法!


代码块的执行顺序:213
在这里插入图片描述主函数里:
在这里插入图片描述执行结果是213
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1: 创建子类对象时, 确实没有创建父类对象, 但是父类的构造被调用了! 给成员变量书初始化
2: 子类字节码文件加载内存的时候 , 发现 子类 extends 了 父类 ,父类的字节码文件也得进内存

发布了24 篇原创文章 · 获赞 0 · 访问量 1206

猜你喜欢

转载自blog.csdn.net/PiShubing/article/details/104575842