7.1 当需要String时,编译器会自动调用toString()7.2 导出类构造器和基类构造器7.6 protected 关键字7.7 向上转型7.7.2 再论继承与组合7.8 final关键字7.8.1 final 数据final 参数7.8.2 final 方法7.8.3 final 类 7.1 当需要String时,编译器会自动调用toString() 7.2 导出类构造器和基类构造器所有的类都可以含有main方法,无需删除,方便单元测试。 创建从基类继承的类的对象会先执行基类构造器,然后再执行继承类的构造器**,所以导出类构造器中必须带有基类构造器**。 若想要在继承类中调用基类的带参数的构造器,需要使用super关键字**。** 7.6 protected 关键字 7.7 向上转型导出类对象自动提升到基类对象,向上转型是安全的,只会丢失方法。** 7.7.2 再论继承与组合使用继承还是组合最清晰的办法就是要不要向上转型。如果要向上转型,那继承是必要的。如果不需要,再好好考虑 。 7.8 final关键字7.8.1 final 数据 若是基本数据类型则值不变 。 若是对象引用则引用不变,一旦被初始化,则无法再指向另一个对象,对象自身可以修改 。既是static又是final的变量用大写表示。 final 参数方法的参数列表指定为final。基本数据类型值不能修改,引用对象不能更换指向。 7.8.2 final 方法final方法不能重写 。 private方法已经隐式的指定为final,不能重写。final方法可以关闭动态绑定 。 7.8.3 final 类final类不能继承 。 final类中的变量可以选择final或者不final,但是方法不能重写 。