《学习笔记》–温故而知新
2022-07-1 第二小组 宋雨 学习笔记
Java 回顾第四天(fourDay)
面向对象
面向对象(行为化):把整个需求的按照特点、功能划分、将这些存在的共性的部分封装成类(类实例化之后才是对象),让对对象取解决问题。我的理解是,面向对象就是将东西交给别人来做,自己调用就行。但是这些别人来做的对象实际上还上要你自己书写的,但是此时你的角色已经发生了变化,你不是一个购买者,你已经转变为了一个生产者了。(过程的代码还是要自己书写)
-
封装: 将一些共有的特征【也可以称之为
属性
】封装在一个大的(盒子里面 [类里面
] ) -
继承: 子类可以继承父类的所有特性【
属性和方法
】,但子类又可以基于父类来进行扩展和重写父类的代码。提高了代码的复用性! -
多态: 指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。多态存在的三个必要条件:
- 要有继承;
- 要有重写;
- 父类引用指向子类对象【向上转型】。(向下转型必须是该对象是由向上转型得来的)
-
抽象: 父类为子类提供一些属性和行为,子类自己进行实现那些具体的行为。
父类一般使用 abstract 进行修饰
封装的关键字: -
public:【
公共的(拥有最大权限
)】,只要在同一个工程目录下都可以调用
可以修饰的有: 类、属性、方法、构造器 -
protected:【
受保护的
】,可以跨包,但是必须是他的子类才可以调用它
可以修饰的有: 属性、方法、构造器 -
**默认的 :**什么都不写就是默认的。只有当前包可以调用(外部引入的也是不好使的)
可以修饰的有: 类、属性、方法、构造器 -
private:【
私有的
】,访问权限最低的,只有本类可以调用
可以修饰的有:属性、方法、构造器
总结:再一次的学习,我对多态又有了新的理解。当初第一次学习,我对多态的概念十分模糊,并且当时理解向上转型和向下转型理解了很长时间。现在的我,已经能基本明白了这些代表的大体意思,也会在实际项目中进行运用了。