一 封装的步骤
封装不仅能保护用户安全地使用电器,而且有助于用户方便地操纵电器。例如对于自动洗衣机,它的内部实现细节被封装起来,只对外公开易于操作的按钮。用户
无需了解洗衣机到底是如何构造和运行的,只要轻松地按下几个按钮,就能指挥洗衣机自动洗衣服。
1、把属性的public访问修饰符改为private
public
private:只能在本类中进行访问
2、编写设置值与获取值的方法
一般来说,类名,属性名全部都是名词,方法名是动词。
二 类成员的访问修饰符权限
1、public 最高权限,跨包,跨类都可以访问
2、default 默认的意思 ,在同一个包下,可以访问。跨包就不可以访问
3、protected:稍微第于public一级,在子类中可以访问。(继承的概念)
4、private 最低权限,只能在本类中进行访问
作用域****修饰符 | 同一个类中 | 同一个包中 | 子类中 | 外部包 |
---|---|---|---|---|
private | 可以 | 不可以 | 不可以 | 不可以 |
default | 可以 | 可以 | 不可以 | 不可以 |
protected | 可以 | 可以 | 可以 | 不可以 |
public | 可以 | 可以 | 可以 | 可以 |
特别注意:类上的访问修饰符只有public 与 default两种,类采用默认的修饰符,只能在同包中进行访问。
三、static修饰符
定义在属性和方法之上,加上此修饰符之后,这个属性或者方法就是类的静态成员了。它是类级别的,公共的了,不是属于一个对象所私有的。
四、static代码块
static执行时机:当类加载的时候就去执行。特征:只能执行一次。
应用场景举例:连接数据库的时候,把数据库的连接对象。
作用:给一些静态属性赋初始值。
目的:节省内存空间,减少不必要的内存资源浪费。节省程序的性能开销。
在实例化对象之前就会执行,实例化对象就会触发类加载
五、继承
Dog子类把自己的代码放在Pet类里,使用起来还是自己的属性与方法。
5.1 子类不能继承父类的什么?
1、private修饰的成员
2、父类的构造方法
3、父类中使用默认修饰符的成员,子类与父类不在同包中
5.2 super关键字的使用
1、super关键字后面加括号就可以调用父类的构造方法,括号中有参数就可以调用父类的有参构造方法,没有参数就会调用父类的无参构造方法。
2、使用super调用父类的构造方法,必须是在子类的构造方法中进行调用,必须是代码的第一行。
3、子类的构造方法中如果没有使用super来显式调用父类的构造方法,系统就会在实例化子类对象的时候,默认调用父类的无参构造
4、super关键字使用点号,可以调用父类的成员,直接调用的情况,父类的成员是(public,protected),不能调用的情况(private),如果父类成员使用了默认的修饰符,则必须在同包下才可以调用。
5.3 继承的特性
1、单根性 :只能有一个直接的父类
2、传递性 :在继承关系中,父类的属性与方法可以被子类及子子类所使用。
原则:子类 is a 父类 , 哺乳动物是动物
里氏替换原则:鸵鸟是属于鸟吗? 鸟的特征:会飞