JAVA的四大基础特征(封装 继承 多态 抽象)
(一)封装
原则:将不需要对外提供的内容隐藏起来,属性隐藏,提供公共的访问方式。
好处:提高安全性,代码复用性
局部变量隐藏成员变量(就近原则)

(二)继承
在程序中,继承是在描述类与类之间的所属关系,蒋多个类中的共有成员变量和成员方法抽取到一个类中(父类),让多个类去继承这个父类
一个类继承另一个类,继承这个类以后,就继承了它所有的属性和方法。
使用extends关键字继承另一个类
格式class (字类或派生类)extends (父类、超类或基类)
特点:1Java中,类只支持单继承,不允许多继承
2一个类可以被多个类继承
3多层继承,一个类的父类可以在去继承另一个父类
4子父类的关系是相对概念
继承中成员变量的特点:
1只能继承父类非私有化,成员变量名字相同就用字类自己的名字。名字不同,字类没有,就用父类
2就近原则:谁离得近就用谁,如果就局部变量就优先使用局部变量,如果没有局部变量,就先看字类的成员变量 ,如果字类的成员变量也没有,就看父类的成员变量
3super:和this用法很像,super表示父类(this和super都是写在方法的第一行,但是他俩不能出现在同一行)

(三)多态
父类应用变量指向字类对象
格式:父类类型 变量名 =new 字类类型();
多态的前提
1子父类继承关系(实现关系)
2父类引用指向字类对象
3方法的重写
一个父类类型的变量指向字类类型的对象,在运行时,变现出字类的特征。
多态情况下,只能直接调用父类中的方法,字类中的方法不直接调用
出多态的原因:java代码需要编译,在编译时,允许父类对象指向字类对象,该对象边线处父类特征,这叫编译时类型。在运行时,变现出字类特征,在运行时类型。

(四)抽象
抽象:使用abstract关键字修饰一个类,这个类就是抽象类。
用于修饰方法和类
抽象方法:不同类的方法时相似的,单时具体内容不一样,这是我们只抽取他们的声明
没有具体的方法体,没有集体方法体的方法就叫做抽象方法
抽象类:有抽象方法的类必须时抽象类
注意:一个类继承了抽象类需要重写所有的抽象方法,否则这个类就是抽象方法。
特点:
1抽象方法只能在抽象类中
2抽象方法和抽象类都被abstract修饰
3抽象类不能创建对象
4抽象类中,可以有非抽象方法
5抽象类与类的关系也是继承
6一个类继承了抽象类需要重写所有的抽象方法,否则这个类就是抽象类。
抽象类的成员特点:
成员变量:可以有成员变量,也可以有常量
成员方法:可以有抽象方法,也可以有非抽象方法
构造方法:可以有构造方法,也可以对成员变量初始化
private私有,只有当前类中可以访问
[default]默认的,同一个包可以访问
protected受i保护的,字类可以访问
public公有的,所有类中都可以访问