|
子父类出现后,类中的成员如变量,函数和构造函数在子父类中的特点: 1,变量: 关键字与this和super有关 this.变量名--,是对本类对象的引用,super.变量名--是对父类对象的引用 子类出现**非私有**的同名变量时,关键是非私有和同名,那么访问本类变量用this,访问父类变量用super 2,函数: 腹写(覆盖) 当子类中出现和父类一模一样的函数时,子类对象调用该函数,会运行子类内容, 覆盖 ;子类继承父类功能,功能内容不一样,调用子类功能进行覆盖,避免了定义新功能. 同时,子类覆盖父类时,必须保证子类权限大于等于父类权限,才可以覆盖,否则变异失败.注意,静态只能覆盖静态.
class Fu{ void show() { System.out.println("fu show"); } void speak() { System.out.println("vb"); }}class Zi extends Fu{ void speak() { System.out.println("java"); } void show() { System.out.println("zi show"); }}
3,构造函数,:在对子类对象进行初始化时,子类构造函数第一行有一条隐士的 语句super();,从而父类的构造函数也运行了,它会访问父类中空参数的构造函数. 有必要的可以在构造函数第一行手动定义super语句来访问父类类的构制定造函数, super语句一定定义在子类构造函数的第一行. object时上帝,是所有类的父类 静态代码块。
格式:
static
{
静态代码块中的执行语句。
}
特点:随着类的加载而执行,只执行一次,并优先于主函数。
用于给类进行初始化的。
运行顺序::静态代码块>>>构造代码块>>>构造函数
|