继承就是共性抽取,把子类共有的抽取到父类,更像是师徒关系。在子类中可以用父类方法,代码复用。 意义:子类少写了很多共有的代码
【成员看左边,方法看右边,没有向上找】 若方法中自己就有,就近
重写,z用@Override注解标注,返回值可以不同,但要【小于等于】父类方法 权限子类方法要【大于等于】父类 public>protected>(default)>private
抽象类 /*父类有方法没有方法体,不确定这个方法怎么执行,比如动物怎么吃,基于继承的,这就是抽象类
子类重写父类抽象方法,就是实现,子类就是实现类*/ /*1.抽象类不能创建对象2.抽象类不能不能使用构造方法,就是不能new,但是可以在子类super构方3.抽象类不一定有抽象方法,只要有abstract就是抽象类,没有抽象方法的抽象类应用:适配器模式*/ 也可以存在方法体/*无参构造,你不写,编译器赠送一个
若创建子类,构造方法会【先】执行父类的若是无参,不用写,子类默认会有super()若是有参,可以用super调父类某个构方,不写就默认调用父类无参注意:若父类中写了有参,没写无参,那就没有无参了,子类调用无参的时候,就没有,报错,这是必须写super了super必须写在第一行,并且一个构方只能写一个,super()只能写在构方中。super.可以访问父类变量和方法*/ /*this指本类对象this若在构方中,就代替了无参的super,因为this也只能是第一行且唯一一个构方 在本类的构造方法中,访问本类的另一个构造方法。*/写一个方法,主要就看返回值,和参数。方法体
int delta = list.remove(index);