理解:
多个子类拥有的共同点抽离出来形成父类,然后继承给每一个子类,降低代码书写的工作量
使用:子类 extends 父类
讯享网注意事项:
子类可以继承父类所有成员(私有和非私有),但是不能使java基础编程题继承用父类中的私有成员
父类的构造方法不能继承
具体的使用方法:
父类: 人类
讯享网
子类: 老师类
此时,老师类继承了人类的所有非私有成员属性
定义一个测试类
讯享网
可以直接调用吃饭类,但是无法调取私有的wc类
注意:
父类无法调用子类成员,只有子类可以调用父类公开成员
如果子类和父类中有相同的成员名,那么子类new出来后只会调用子类的成员
方法的重写:
如果父类的某个方法不好用,或者不能达到自己的需求,就可以使用方法的重写,重新定义这个方法
例:修改上面老师的方法
@Override: 声明下面的方法是重写方法,并且判断是不是重写方法,如果不是则会报错
这样就重写了eat方法,从人会吃饭变成了老师在吃饭,此时在测试类调用t.eat,控制台就会输出
"老师在吃饭"而不是"人在吃饭"

注意:
子类重写继承的父类方法,权限必须保证大于等于父类权限
public > protected > 默认(不填) > private
私有方法不能被重写,构造方法不能被重写,静态方法不能被重写
尽量保证子类的重写方法跟父类的关键字和返回类型保持一致,减少不必要的错误
继承中的构造方法:
在new子类对象时,会先执行父类的无参构造方法
每个构造方法的第一行,会自带一个super(),不填jvm()会自动提供一个
super();表示父类无参构造器
super();只能在构造器第一行使用!!!
super.成员变量名 //可以调用父类的成员变量
super.成员方法名() //可以调用父类的成员方法
people.java
Teacher.java
this表示的是当前类,谁new的对象就代表谁
注意:super();和this();不能在一个方法内同时手写出现
继承的特点:
继承只能单继承,不能多继承
但是可以支持多层继承
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/8444.html