今天我回我自己学校了,但是我晚上还是会整理笔记。
今天主要说了封装,权限修饰符,单例模式,和多态
一、权限修饰符
public: 公共的
protected:受保护的
默认的:
private:私有的
作用域范围:public在一个项目下都有用,protectd在本类,在子类,同一个包中都可以用,默认的只可以在本类和同一个包下可用,private只可以在本类可以用。
二、面向对象三大特征之封装
封装的定义非常广泛,像方法也属于封装的一种,类也属于封装的一种,包等也属于封装的一种。在java中说到的封装,多指用private修饰的成员变量或成员方法。
封装的意义:隐藏了具体的时下细节,仅对外提供公共的访问方式。用关键字
公共的访问方式:public返回值类型 getxxx()/setxxx()
封装的好处:
1.增加了安全性
2.提高了复用性
3.提高了维护性
4.将变化隔离,方便使用
备注:在实际开发过程中,所有的成员变量都是用private修饰,对外提供公共的访问方法。
三、单例模式() 一夫一妻制 一个类只有一个对象
单例模式的三个特点:
1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。
经典的三种单例模式:
1、懒汉式:什么时候用到,什么时候进行实例化对象
2、饿汉式:先创建好对象,谁用谁调用
3、登记式(不用)
怎么实现一个类只有一个对象?
思路:将构造方法私有化(只有本类可以创建自身对象)
四、面向对象三大特性之多态
理解:就是同一种事物在不同的形式下所表现出不同的形态
例:水 在零度温度:冰 固态
在常温下:水 液态
在100度以上:水蒸气 气态
多态的条件:
1.类之间必须要有继承
2.成员方法必须有重写
3.父类的引用指向子类的对象 Father f = new Son();
多态的执行过程:
编译期 运行期
成员变量: 看类型 看类型
成员方法: 看类型 看对象
静态方法: 看类型 看类型
instanceof关键字:
A:用于判断某个对象是否是某种类型。
B:格式:
对象名 instanceof 子类(实现)名
多态的好处和弊端:
好处:增加了程序的可扩展性,提高了程序的维护性。
弊端:操作时只能访问父类的相关方法,不能访问子类的成员方法
(可以使用向下转型解决该问题)