1.继承:从已有类派生出来新的类,新类叫子类,已有类叫父类,而子类具有父类的公有属性与公有方法,这种形态叫继承;java只支持单继承。
(1)父类无构造函数或者一个无参数构造函数,子类若无构造函数或者有无参数构造函数,子类构造函数中不需要显式调用父类的构造函数,系统会自动在调用子类构造函数前调用父类的构造函数.
(2)若父类只有一个有参构造函数,则子类必须显示的调用该有参构造函数
(3)若父类既有有参构造函数,又有无参构造函数,子类会自动调用父类的无参构造函数
2.封装:数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些公共接口使之与外部发生联系。系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互。
3.多态:编译时多态(重载)。运行时多态(重写)
重载:一个类中存在多个方法名一样,但是返回值类型和参数列表都不一样的方法;
重写:发生在子类中,子类中存在一个方法与父类的方法具有相同的方法名、返回类型和参数表,并且子类函数的访问修饰权限不小于父类的。
多态:重载时,方法调用由虚拟机根据传入的参数类型来决定具体的调用方法,这叫编译时多态;
重写时:父类引用指向子类对象,当子类重写了父类的方法时调用子类中的方法。