java语言中不但可以重写父类的成员方法和隐藏类方法,在子类中也可以隐藏父类的成员变量,只需要声明的变量名称相同,就算变量的数据类型不同,也一样可以隐藏父类成员变量。
这里之所以是隐藏,因为父类的这些变量依然可以访问,访问方法就是通过super关键字:super.name(这里假设name是父类成员变量而且被子类重写隐藏)。super还有一个重要的作用,就是调用父类的构造。因为正常情况下父类的构造函数式不能被子类直接使用的。
调用父类的构造函数的方法:super()括号中填要传入的变量。
接口在我看来,就是一些方法的集合,有利于类的编写。接口的声明:
public interface 接口名称{
final 数据类型 常量 = 值;
返回值类型 接口方法(参数行);
}
注意,声明的方法是一种抽象方法,只有声明没有具体的程序代码,实际的代码编写在实现这个接口的类中执行。接口的方法隐式声明成public、abstract。接口中的常量默认是static类型,所以可以直接用 接口名.常量来进行访问。
类实现接口,用关键字implements,如果实现的接口不止一个则使用“,”隔开。
接口可以通过继承来扩展其方法。注意,一旦接口被定义好,不可随便改变接口中的方法,因为每一个实现接口的类都要讲接口中的方法重写一遍,若改变接口中的方法,相当于每个实现接口的类都要重新写,这不仅耗时间而且容易出现错误。所以接口的扩展通过继承来完成。子接口将继承父接口的所有常量及方法。