1. 方法重载(Overload)和覆写(Override)区别。重载是指在相同类内定义名称相同但参数个数或类型或顺序不同的方法,而覆写是在子类当中定义名称、参数个数与类型均与父类相同的方法,用于覆写父类中的方法。具体的区别如下表所示。

 在重载的关系之中,返回值类型可以不同,语法上没有错误,但是从实际的应用而言,建议,返回值类型相同。

 

2. this和super的区别

 由于this和super都可以调用构造方法,所以this()和super()语法不能同时出现,两者是二选一的关系。

 

3. final关键字的使用。final在Java之中称为终结器,在Java之中final可以修饰三类情况:修饰类、修饰方法及修饰变量。

⑴ 使用final修饰的类不能有子类(俗称太监类)。如果父类的方法不希望被子类覆写,可在父类的方法前加上final关键字,这样该方法便不会有被覆写的机会。

⑵ 使用final定义的方法不能被子类所覆写。在父类中,将方法设置final类型的操作,实际编程时用途并不广泛,但是在一些系统架构方面会出现比较多,这里读者知道有这类情况存在即可。

⑶ 使用final定义的变量就成为了常量常量必须在其定义的时候就初始化(即给予赋值),这样用final修饰的变量就变成了一个常量,其值一旦确定后,便无法在后续的代码中再做修改。一般来说,为了将常量和变量区分开来,常量的命名规范要求全部字母采用大写字母方式表示。