构造方法不能被继承所以不存在重写!,父类的构造方法是可以在子类中调用的。
extends:
继承父类所有 public的
object:
super:
调用父类选择器
方法的重写:
在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称 方法覆盖。 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。 如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
public void print(){
}
或者
public void print(){
super.print();
System.out.println("添加");
}
当在子类使用构造器时 会调用父类的无参构造器!
public Dog(String name,String strain){
this.strain = strain;
当子类构造器调用父类构造器时,就不会在调用父类的无参构造器!
public Dog(String name,String strain){
super(name);
this.strain = strain;
重载和重写的区别:
重载只能在一个类里!
重写只能在子类里重写父类的方法!
abstract: 抽象类
抽象化之后不能 new 实例化创建对象
抽象类不一定有抽象方法
有抽象方法一定是抽象类
抽象方法不能直接使用,重写后才能使用。
父类如果有抽象方法 子类继承时 子类是抽象类或者把方法重写。
final:
//最终类
public final class Pet {
//使它不能再有子类,不能被继承
}
final 和abstract的作用与区别:
final 可以修饰类 属性 方法 不能修饰构造方法。 //最终
abstract 可以修饰类和方法,不能修饰属性和构造方法。 //抽象
//最终对象:
final 修饰对象时 使它不能修改地址值(不能引用对象) 可以修改其中的内容。
protected: