继承是对现实生活中的“分类”概念的一种模拟。
通过surper调用的基类构造方法,必须是子类构造方法中的第一个语句。
构造函数(constructor)是一种特殊的方法 。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值 。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。构造函数的功能主要用于在类的对象创建时定义初始化的状态。
构造一个对象,先调用其构造方法,来初始化其成员函数和成员变量。
子类拥有父的成员变量和成员方法,如果不调用,则从父类继承而来的成员变量和成员方法得不到正确的初始化。
不能反过来调用也是这个原因,因为父类根本不知道子类有神魔变量而且这样一来子类也得不到初始化的父类变量,导致程序运行出错。
创建“不可变的类”的对象后,此对象的属性不可改,而且也无法从此类派生出新的子类。String就是一个典型的例子。
“不可变的类”的作用:1.可以方便和安全地用于多线程环境中。2.访问他们可以不用加锁,因而能提供较高的性能。