extends 继承
-
继承 extends
单继承,只有一个父类
class B { } class A extends B{ }
有些类不能被继承,final类为最终子类不能被继承
public final class a{ }
-
重载
- 可以出现在一个类中,也可以出现在继承关系中
- 参数返回值不同
public int pf(int i) { System.out.println("parent....."); return i*i; } public double pf(double d) { return d * d; }
-
重写
- 必须出现在继承关系中
- 参数返回值相同
public int pf(int i) { System.out.println("parent....."); return i*i; } public int pf(int i) { System.out.println("父类方法的重写pf--子类"); return d * d * 1; }
-
方法重写后,再调用方法时会默认调用重写的方法。
-
如果返回值为super.pf(i),返回父类构造的方法。则调用的还是父类方法
public int pf (int i){ //方法的重写,有任何改变即视为重写 // System.out.println("父类方法重写pf--子类"); // return i*i; return super.pf(i); }
-
super this 的区别
super.pf 表示调用父类构造
this.pf 表示如果父类构造重写则调用重写的构造,同样的不写this也会默认调用重写的构造。
this也可以调用父类构造的内容(如果父类允许继承 pubilc)
父类构造
- 父类子类构造执行顺序