面向对象编程
把构成问题的各种事物,抽象成各个对象,这些对象具有解决问题的行为(方法),同时对象还可 以具有解决很多类似问题的行为(方法),而不只是能解决一个问题。
面向过程编程
分析出,解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,然后依次调用就可以了。
函数式编程
类似于面向过程的程序设计方式,具有很高的抽象程度
封装
是面向对象的核心思想,将对象的属性和行为封装起来,不需要让外界知道具体实现细节,这就是封装思想。例如,用户使用电脑,只需要使用手指敲键盘就可以了,无需知道电脑内部是如何工作的,即使用户可能碰巧知道电脑的工作原理,但在使用时,并不完全依赖电脑工作原理这些细节。
继承
可以使子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法
多态
指的是在一个类中定义的属性和功能被其他类继承后,当把子类对象直接赋值给父类引用变量时,相同引用类型的变量调用同一个方法所呈现出的多种不同行为特性。例如,当听到“Cut” 这个单词时,理发师的行为表现是剪发,演员的行为表现是停止表演等。不同的对象,所表现的行为是不一样的。
方法的重载,
- 必须是在同一个类中
- 方法的名字必须相同
- 方法的参数列表必须不同 参数的类型不同 参数的个数不同 参数的顺序不同
- 方法的修饰符、返回类型、抛出异常这些地方没有限制(可以相同,也可以不同,但一般都是相 同的)
方法重写
私有方法不能重写、可以有不同的访问修饰符
-
概念
子类出现了和父类中一摸一样的方法声明(方法名、参数列表必须一样)
-
应用场景
当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样既可沿袭父类的功能又可以定义子类特有的内容
- Override注解
用来检测当前的方法,是否是重写的方法,起到校验作用
注意:
- 私有方法不能被重写(父类私有成员子类是不能继承的)
- 子类方法访问权限不能更低(public>default>private