封装:
封装就是把客观事物抽象成类,把特征属性和操作存放到类的结构中,每个类都会对自己的成员变量和成员方法进行保护(权限修饰:private,protected,default,public),该工具类仅向应用程序员公开必要的内容。
public、private、protected:

public 表示任何人都可以访问和使用该元素;

private 除了类本身和类内部的方法,外界无法直接访问该元素(private是类和调用者之间的屏障,任何试图访问私有成员你的行为都会报编译时的错误);

protected 类似于private,区别是子类可以访问protected的成员,但是不能访问private 成员;

default 是如果不使用前三者,默认就是default访问权限,defaul被称为包访问,因为该权限下的资源可以被同一包中其他类的成员访问。

继承:
继承是一种类与类之间的链接关系,具有层次性,提供了一种描述共性的方法,支持和鼓励类的重用。一个新类可以从一个原有的类中派生,关键词是extends;这个过程就叫做类继承,新类可以继承原有类中的一些属性和方法,又可以在此基础上进行修改扩充形成自己的特性。

继承特性:
1。单一继承(多继承可以通过接口实现)
2. 子类只能继承父类的非私有成员变量和方法。
3. 子类定义了和父类相同的成员变量,父类中的成员变量被隐藏。
4. 子类定义了和父类相同的成员方法,支持方法重写。
继承上的子类 父类的加载顺序:
父类静态变量
父类静态代码块
子类静态代码块
子类静态变量
父类非静态代码块
父类构造方法
子类非静态代码块
子类构造方法
子类重写方法覆盖父类方法

多态:
把一个对象引用当做它的基类(父类)引用,对同一消息作出不同的响应。

多态的三个必要条件:(多态指方法的多态)
1、继承:在多态中必须要存才具有继承关系的子类
和父类;
2、方法重写:该父类的一个或多个子类对某些方法的重写,多个子类对同一方法的重写可以表现出不同的行为。
3、父类引用指向子类对象(向上转型):在多态中需要将子类的引用赋给父类对象,把一个对象引用当做它的基类(父类)引用