tip:以下是正文部分
一、封装介绍
封装(encapsulation)就是把抽象出的数据[属性]和对数据的操作[方法]封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作[方法],才能对数据进行操作。
二、封装的理解和好处
-
隐藏实现细节:方法(连接数据库)<–调用(传入参数…)
-
可以对数据进行验证,保证安全合理,在传递参数时进行验证。
三、继承使用细节
1.子类继承了所有的属性和方法,但是私有属性和方法不能在子类直接访问,
要通过公共的方法去访问(public,默认,protected可以被访问)
2.子类必须调用父类的构造器,完成父类的初始化。
*会向上查找父类,再从上到下调用父类的构造器。
3.当创建子类对象时,不管使用子类的哪个构造器,默认情况下总会去调用父类的无参构造器,如果父类没有提供无参构造器,则必须在子类的构造器中用 super 去指定使用父类的哪个构造器完成对父类的初始化工作,否则,编译不会通过。
4.如果希望指定去调用父类的某个构造器,则显式的调用一下:super(参数列表)
5.super在使用时,必须放在构造器第一行(super只能在构造器中使用)
6.super()和 this()都只能放在构造器第一行,因此这两个方法不能共存在一个构造器
7.java所有类都是Object类的子类。(idea中ctrl+H查看继承关系)
8.父类构造器的调用不限于直接父类!将一直往上追溯直到Object类(顶级父类)
9.子类最多只能继承一个父类(指直接继承),即java中是单继承机制。
但是 可以通过A继承B,B继承C的方式,使A成为C的子类。
10.不能滥用继承,子类和父类之间必须满足 is-a 的逻辑关系
11.如果子类和父类有同名的属性或方法,当输出属性时
先看子类中有无属性并且是否可以访问,如果不行,则看他的父类。