继承:以已存在的类为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性的继承父类
私有资源会被正常继承,但无法被调用
在构造方法中末端构造器第一行必须调用父类的构造方法,如果父类的构造器全部私有化,那么这个类无法被继承
重写规则:方法名相同,参数列表不同
子类的返回值类型如果是基本类型必须相同,如果是引用数据类型子要小于等于父
子类所抛出的异常要小于父类
子类的权限修饰符要大于等于父类 如果是public就相等
静态方法不能被重写,只能用同名的静态方法隐藏,不会触发多态性,非静态方法不能被重写为静态方法
@Override:检查下方的方法是否是被重写的方法
在继承条件下,被隐藏的方法不会出现在方法表里,正常继承下来的方法,如果没有被重写,会在子类的放发表里生成虚方法
private方法的地址不会被其他类直接获取,即使是内部类也是访问私有方法的静态代理方法
多态:指父类某个方法被重写时,可以各自产生各自的功能行为
三个必要条件:继承 重写 父类变量指向子类对象
变量是静态绑定。上转型之后的对象,操作变量时,是根据该对象的变量数据类型访问的,也就是说,上转型后的对象访问的是父类的变量表
方法是动态绑定。上转型之后的对象,操作方法时,是根据该对象的对象类型访问的,也就是说,上转型后的对象访问的是子类的方法表
上转型后的对象只能访问父类直接继承下来的方法以及被重写的方法,不能访问子类独有的方法
instanceof:用来识别某个对象是不是某一个类或该类的子类