在类加载后,创建对象的过程包括
1.分配内存
2.对所有实例变量赋默认值
3.执行实例初始化代码
分配内存包括本类和所有的父类的实例变量,但不包括任何静态变量,实例初始化都是从父类开始。
继承中方法的执行,先找本类中,本类没有找去父类。如果方法被子类重新了,则执行重新后的方法。
继承双面性解决方法:
使用final关键字,使用组合而非继承,使用接口。
在类加载后,创建对象的过程包括
1.分配内存
2.对所有实例变量赋默认值
3.执行实例初始化代码
分配内存包括本类和所有的父类的实例变量,但不包括任何静态变量,实例初始化都是从父类开始。
继承中方法的执行,先找本类中,本类没有找去父类。如果方法被子类重新了,则执行重新后的方法。
继承双面性解决方法:
使用final关键字,使用组合而非继承,使用接口。
转载于:https://www.cnblogs.com/wakakCode/p/10583132.html