方法重载 同一个类中的两个或多个方法可以共享同一个名称,只要它们的参数声明不同即可,这种情况被称为方法重载。其有两种情况:普通方法的重载与构造方法的重载。 方法重载要注意: 重载方法的参数列表必须和被重载的方法不同,而且这种方法必须足以清楚的确定要调用哪个方法。 方法重写 在子类中如果创建了一个与父类中相同名称、相同返回值类型、相同参数列表的方法,只有方法体中的实现不同,以实现不同于父类的功能,这种方式称为方法重写(方法覆盖) 其规则; 访问修饰符的限定一定要大于被重写方法的访问修饰符(public>protected>default>private) 如果子类中创建了一个成员变量,而该变量的类型和名称都与父类中的同名成员变量相同,则称为变量隐藏。 构造方法 是类的一种特殊方法,用来初始化类的一个新的对象。Java中的每个类都有一个默认的构造方法,它必须具有和类名相同的名称,而且没有返回类型。构造方法默认的返回类型就是对象类型的本身,而且构造方法不能被static、final、synchronized、abstract和native修饰 构造方法可以重载,构造方法不要求必须定义。如果类中没有定义任何构造方法,则java会自动为该类生成一个默认的构造方法(空的)。 构造方法调用顺序; 构造方法第一句总是;super(…)来调用父类对应的构造方法。所以,流程就是:先向上追溯到object,然后再依次向下执行类的初始化块和构造方法,直到当前子类为止。 静态初始化块调用顺序与其一样。 Object类具有一个toString()方法,该方法是个特殊的方法,创建的每个类都会继承该方法,它返回一个String类型的字符串。如果一个类定义了该方法,则在调用该类对象时,将会自动调用该类对象的toString()方法返回一个字符串 方法的可变参数 其格式: methodName({paramList},paramType…paramName) 其中methodName表示方法名称;paramList表示方法的固定参数列表;paramType表示可变参数的类型;…是声明可变量参数的标识;paramName表示可变参数名称 可变参数必须放在参数列表的最后 析构方法 析构方法与构造方法相反,其往往用来做清理垃圾碎片的工作。当对象脱离其作用域时(例如对象所在的方法已调用完毕),系统自动执行析构方法。 在object类中还提供了一个Protected类型的finalize()方法,因此任何java类都可以覆盖这个方法。