明天就要參加笔试了,所以今天看了一天的java基础面试题,本来打算不写了今天,想想还是要淦,不能停,总结了一下网上的
面向对象
- 易维护、易扩展、易服用
- 有封装、继承、多态三大特性 低耦合
封装
- 隐藏对象的属性和实现细节,仅对外提供公共访问的方式
- 将变化隔离,易于使用、提高了复用性和安全性
继承
- 用已有的类创建一个新类的方式,子类拥有父类的特征和行为(private 修饰的除外)
多态
- 对于同一行为,不同的子类拥有不同的表现形式
- 存在的三个条件:继承、重写、父类引用指向子类对象
抽象类
- 用来捕捉子类的通用特性
接口
- 抽象方法的集合
- 从设计层面上来说,抽象类是对类的抽象,是一种模板设计,接口是对行为的抽象,是一种行为规范
- 都不能实例化
- 接口不能有构造方法,方法必须是public修饰
- 抽象类单继承,接口多实现
重载
- 在一个类中有多个同名的方法,但是参数列表不同(个数,类型不同)
重写
- 子类对父类的方法进行重新定义,参数不可改变,返回值类型可变
static
- 用于创建独立于具体对象的方法或者变量, 这样就不用创建对象也能访问方法和属性