1、继承 extends
子类继承拥有父类的属性
1>父类中private私有属性子类可继承但不可访问,可修改为protected(自己可访问、同一个包内可访问、子类可访问),不建议。可通过super调用父类属性
2>super():调用父类的构造方法。默认存在无参的构造方法,无需定义,但若添加有参的构造方法后,需要使用无参构造方法时,需要手动定义
3>类加载初始化:先执行父类的初始化,然后进行子类的初始化。调用子类的构造方法,会默认先去调用父类的无参构造方法
4>子类可定义父类中已经存在的属性,优先以子类自己的属性为主。比如子类定义父类中已经存在的成员变量,则父类中的成员变量被隐藏。对于父类,同样以父类自己的属性为主
5>向上造型:子类对象赋值给父类变量时发生。造型:把一个类型的对象,赋值给另外一个类型的变量,这个过程称为造型。造型与类型转换不同,造型没有改变变量实际类型
5>赋值:对象不能像对象赋值,对象只能像变量赋值。子类对象可以赋值给父类变量,父类对象不可赋值给子类变量,因为子类可能包含父类不具备的属性,或相同的属性,子类定义的权限可能比父类大,这样通过子类取访问父类,而父类中并不存在这个方法,或父类中定义权限实际不允许被访问
6>多态:运行过程中,不能知道实际的对象是子类还是父类,是哪一个子类,这种现象称为:多态
2、函数调用的绑定
通过对象的变量调用函数时,调用哪个函数叫做绑定
静态绑定:根据变量的声明类型来决定
动态绑定:根据变量的动态类型来决定
在成员函数中通过this对象来调用其他成员函数,也是动态绑定
3、object
私有类继承自object类。单跟结构。
4、封装
降低耦合
5、可扩展性