封装
封装介绍
封装就是把抽象出的数据(属性)和对数据的操作(方法)封装在一起,数据被保护在内部,程序的其他部分只能通过被授权的操作(方法),才能对数据进行操作
封装的理解和好处
- 1.隐藏实现细节
- 2.可以对数据进行验证,保证安全合理
封装的实现步骤
- 1将属性进行私有化private(不能直接修改属性)
- 2.提供一个公共的(public)set方法,用于对属性判断并赋值
- 3.提供一个公共的(public)get方法,用于获取属性的值
如图

将封装和构造器结合
在构造器代码块中调用set方法来获取相应的值,从而在将构造器加入到封装中

继承
继承的基本介绍和示意图
基本介绍
继承可以解决代码复用,让我们的编程更加靠近人类思维,当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过extends来声明继承父类即可。
示意图

继承的基本语法
class 子类 extends 父类{}
- 1.子类会自动拥有父类的属性和方法
- 2.父类又叫超类 基类
- 3.子类又叫派生类
继承给编程带来的便利
- 1.代码的复用性提高了
- 2.代码的扩展性和维护性提高了
继承的细节问题
-1.子类继承了所有的属性和方法,非私有的属性和方法可以直接访问,但是自由的属性和方法不能在子类中直接访问,要通过公共的方法去访问



-2.子类必须调用父类的构造器,完成父类的初始化


-
3.当创建子类对象时,不管使用子类的哪个构造器,默认情况下总会去调用父类的无参构造器,如果父类没有提供无参构造器,则必须在子类的构造器中用super去指定使用父类的哪个构造器完成父类的初始化工作,否则编译不会通过


-
4.如果希望指定去调用父类的某个构造器,则显式的调用一下:super(参数列表)

-
5.super在使用时,必须放在构造器的第一行(super只能在构造器中使用)
-
6.super()和this()都只能放在构造器的第一行,因此这两个方法不能共存在一个构造器中
-
7.java所有类都是Object类的子类,是所有类的基类

-
8.父类构造器的调用不限于直接父类!将一直追溯直到Object类(顶级父类)
-
9.子类最多只能继承一个父类(指直接继承),即java中是单继承机制
如何让A类继承B类和C类?(A继承B,B继承C) -
10.不能滥用继承,子类和父类之间必须满足is-a 的逻辑关系
如:Person is a Music
Music extends Person //不合理
Person extends Music //合理
继承的内存布局


继承后父类和子类的执行顺序
构造方法和静态代码块:当创建子类对象时,先调用父类的构造方法和静态代码块,再调用子类的
调用普通方法时:先在子类中找,如果子类中没有,则一层一层的在父类中找
本文详细介绍了封装的概念,包括其作用、实现步骤以及与构造器的结合。同时阐述了继承的基础概念,如复用、语法、便利性、细节问题,以及内存布局和执行顺序。
1617

被折叠的 条评论
为什么被折叠?



