面向对象
在子类中,访问父类中的成员变量格式:
Super.父类中的成员变量
子类中出现于父类一模一样的方法时,会出现重写的操作.也叫复写或覆盖.
方法重写的应用:
当子类需要父类的功能,而功能主体子类有自己特有的内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容
在子类中,访问父类的成员方法格式:
Super.父类中的成员方法();
重写需要注意的细节问题:
1.子类方法重写父类方法,必须要保证权限大于父类权限.
2.如果父类的方法是private的修饰的,那么在子类中没法重写(其他修饰符都可以重写)
3.写法上稍微注意:必须一模一样:方法的返回值类型 方法名 参数列表都要一样
总结:当一个类是另一个类中的一种时,可以通过继承,来继承属性与功能,如果父类具备的功能内容需要子类的特殊定义时,进行方法重写.
this与super调用普通成员与构造方法
this成员变量 可以访问本类对象的成员变量
super成员变量 可以访问父类对象的成员的变量
this.成员方法() 可以访问本类对象的成员方法
super.成员方法() 可以访问父类对象的成员方法
this(其他参数) 可以访问本类的构造方法
super(其他参数) 可以访问父类其他的构造方法
默认子类调用父类的构造方法
子类的每个构造方法均有默认的Super(),调用父类的空参构造.手动调用父类构造会重写默认的super();
第二章 抽象类
抽象类:
抽象方法格式:
public abstract 返回值 方法名(参数);
抽象类的定义格式
abstract class 类名{
}
抽象类无法继承创建对象,只能被子类继承后,创建子类对象
1.抽象类一定是个父类.
2.抽象类中是可以不定义方法的,此时仅仅是不让该类创建对象,用于某些特殊的设计需要
3.设计时具体类抽取出抽象类,而开发阶段应该先定义抽象父类,再根据不同需求由父类定义子类