1.继承的好处和弊端:
好处:
提高了代码的复用性(多个类的相同成员可以放到同一个类中),提高了代码的可维护性(方法需要修改,修改一处即可)
弊端:
类的耦合性增强了,当父类发生变化时子类也不得不跟着发生变化,从而削弱了子类的独立性
2.在继承中,对子类实例化时,会默认调用一遍父类无参构造方法
原因:子类数据初始化之前,会先完成一遍父类数据的初始化,每个子类的构造方法的第一条语句默认都是super()
可以在子类构造方法中,通过super关键字完成父类带参构造方法的调用
3.继承中成员方法的访问特点:
通过子类对象访问一个方法:首先在子类成员范围中找,其次在父类成员中找......如果没有找到就会报错。
4.@Override 这个注解可以检查重写方法的正确性
5.子类重写父类的方法,其访问权限不能低于父类
6.通过多层继承可类似实现多继承的功能
7.在记事本下创建包
手动建包:
自动建包:
8.修饰符:权限修饰符、状态修饰符:final最终态、static静态
final:
最终方法不能被重写,最终变量不能再被赋值,最终方法不能被继承。当final修饰引用数据类型时,引用类型的数据的地址不能变,但数据内容可以改变
static:
静态的方法,只能访问静态的成员变量和方法,代表被类的所有对象共享,可以通过对象名调用,也可以通过类名调用
9.多态的描述:同一对象在不同时刻表现出来的不同的形态
10.对于多态的前提和体现:
有继承/实现关系、有方法重写、有父类引用指向之类对象
父类对象指向子类引用:可以表示为利用父类声明,对子类进行实例化
Animal cat = new Cat();
通过多态的形式访问成员变量、方法,访问的都是父类的;编译看左边,运行看右边(实例化等号为界限)
11.多态的转型:父到子、子到父
向上转型 -> 父类引用指向子类对象
向下转型 -> 对父类对象强转型,转换为子类对象
对于向下转型此处我举一个栗子:比如a是创建的父类对象,子类是Cat,Cat c = (Cat) a;就完成了向下转型
向上转型也举一个栗子吧:Animal a = new Cat();完成的就是向下转型。值得注意的是,在编译的过程中,不能调用子类中有而父类中没有的变量和方法,仍想要使用子类中特有的变量和方法,可以通过创建一个子类的对象来完成调用