javase---继承:(包含this.和super的区别)
继承的特点:
java中只支持单一继承,只能继承一个父类。
java中支持多层继承(一个儿子可以有亲爹,还可以有一个亲爷爷。。。)
继承中成员变量的特点:
子类只能继承父类中非私有的成员:
子父类中成员变量的名字和父类中的名字不一样获取父类的
如果一样则选择子类中的。
就近原则:谁离我近我就用谁的。
如果有局部变量就使用局部变量(如果有局部变量想用成员变量就用this调用)
如果没有局部变量,有子类的成员变量就使用子类的成员变量
如果没有局部变量和子类的成员变量,有父类的成员变量就使用父类的成员变量
super:可以获取父类中的成员变量和成员方法,用法和this相似。
继承中的成员方法的特点:
方法的重写:在子类中,子类的方法和父类的一样,子类重写父类的方法(方 法的覆盖)
方法的重载:在一个类中,有多个重名的方法,但是其中参数不一样(参数的个数,参数的类型,参数的顺序),和返回值无关。
方法重写的应用场景:
当父类中的方法不能完全满足子类中的使用,这个时候子类重写父类中的方法。并且可以在方法中使用super调用。
方法重写注意事项:
不能重写父类中的私有方法。
权限修饰符子类的要大于父类的。重写的时候最好加上注解,注解可以帮助提示你是否正确的重写,是一种标准。
继承中构造方法的执行顺序:
在有子类父类中,创建子类的对象,调用子类中的对象时,如果第一行没有指明调用什么,则默认调用父类中的无参构造器。
为什么调用子类对象的时候一定会执行父类中的构造方法:
1,因为当子类创建对象完毕,那么就可以使用父类的 成员(成员变量,成员方法) 而父类的构造方法就是用于给自己的成员变量进行初始化的(就是给成员变量赋默认值)
2,因为在子类的构造方法里都隐藏了一个 super(); 默认调用父类的无参构造
继承的优缺点:
优点:
提高了代码的复用性:
提高了代码的可维护性。
缺点:
类的耦合性增强了
开发的原则:高内聚低耦合(提高自己类完成的能力,少一点其他的类参与)
* this和super的区别
this:当前对象的引用
调用子类的成员变量
调用子类的成员方法
在子类的构造方法第一行调用子类其他构造方法
super:子类对象的父类引用
调用父类的成员变量
调用父类的成员方法
在子类的构造方法第一行调用父类的构造方法
this和super在调用构造方法的时候,必须在第一行,不能在一个方法中同时在一起使用
















