子类共有属性组成基类(父类)
子类有自己特有的的方法和属性,父类属性直接使用
!!!!!!!!!!对于继承的抽象方法,子类可以不用实现,但最终的子类还是会实现的,不然没用
区别重写和重载
重写要求:1.继承父类,2.两同两小一大,方法名和参数列表相同,子类方法返回值类型小于或等于父类方法返回值类型,子类方法抛出异常小于或等于父类方法抛出异常类,子类方法访问权限大于父类方法访问权限
(对于成员变量也可以重写)
重载要求:1.在自己类(该类);2.方法名相同,返回值类型可以任意,关键在于参数不同(参数列表才是决定性的因素)
子类是不继承父类的构造器(构造方法或者构造函数)的,它只是调用(隐式或显式)。
super调用父类的构造器......
父类的构造函数不允许重写
子类构造函数默认调用父类构造函数
继承的初始化顺序:
(静态代码(全局类)------》类对象代码块(包括构造函数))
(父类的父类(最终为object)------》父类---》子类)
结论:父类静态代码块------》子类静态代码块-------》父类对象代码块-------》子类对象代码块
static {
System.out.println("类初始化块——A");
}
{
System.out.println("类初始化块——A");
}
2.this(表示调用该方法或成员变量的对象)
static和this和super的大PK
使用了static,就不能使用super和this
在调用方法时,this和super不能同时存在(都要抢占方法第一行)
接口:
普通类只能单继承,但是接口可以多继承:
public interface Hockey extends Sports, Event
接口全是抽象方法
implements关键字只能实现接口