目录
继承
继承:类A继承类B 的所有成员,并且能够访问他的非私有成员。为了减少代码的冗余。
继承的语法:
public class A{} public class B extends A{}
注意:
一个类只能继承一个直接父亲(一个父亲可有多个儿子,而一个儿子不能有多个父亲)。
子类如何调用父类的属性和方法:
//如果子类没有继承父类,要调用的话就得new Human h = new Human(); h.eat(); //如果继承了的话,就可以直接调用父类中的方法 不要new eat();
父类中所有属性和方法都 能被子类调用吗
不能,私有属性不能被调用。
如果子类中的方法和父类中的方法同名,在调用时如何区分嘞?
sout(name); //就近原则,输出局部变量name的值 //sout是Sytem.out.println()的快捷方式。 sout(this.name);//this代表当前对象,就是指的是student类对象 sout(super.name);//super就是专门用于访问父类空间的关键字
如果同名
因为子类继承了父类,所以会首先输出父类的构造方法;再输出子类的构造方法,再就是子类自己的普通方法。
方法重写
发生在子类继承父类,子类重写父类的方法,通过动态绑定 如果子类中的方法与父类中的某一方法,具有相同的方法名、返回类型、参数表 则新方法将覆盖原有的方法。如需原有的方法可以使用super关键字,该关键字引用当前类的父类。 子类的修饰符权限不能少于父类